home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / fulpak / fullpack.doc < prev    next >
Text File  |  1998-06-23  |  107KB  |  3,248 lines

  1. <READOCS-FILE>
  2. <LEFT>                              
  3. <PRINT><PAGE><OFF>
  4. <PRINT><WINDOW><9><1><80><60><2><0>
  5. <PRINT><LINE><23><0><1>
  6. <PRINT><HEADER><Simply Soft's Full Pack 1.1 Docs>
  7. <READ><HEADER><Simply Soft's Full Pack 1.1 Docs>
  8. <CENTER>
  9. Simply Soft's (a part of Simpsoft Inc.) Full Pack 1.1   
  10. Copyright 1994-97 By Bruce O'Banion
  11. A complete text graphic I/O engine for Turbo C/C++
  12.  
  13. Turbo C 2.0 and Turbo C++ 1.0 copyright 1987-1990 
  14. by Borland International Inc.
  15. MS-DOS 5.0 copyright 1991 by Microsoft Corp.
  16. MOU105 Copyright (C) 1990, 1991 by Dave Kirsch.
  17. Sharespell v3.1 copyright 1989-96 by Acropolis Software.
  18.  
  19. This is an unregistered version of Full Pack
  20. <PRINT><LINE><1><44><205>
  21. <PRINT><PAGE><NEW>
  22. <PRINT><LINE><4><0><1>
  23. <PRINT><HEADER><Table of Contents>
  24. <READ><OFF>
  25. <PRINT><PAGE><OFF>
  26. Table of Contents
  27. <PRINT><LINE><1><17><205>
  28. <LEFT>
  29.  
  30.   The Simply Soft Story .............................   Page 1
  31.   General Info ......................................   Page 2
  32.   Support ...........................................   Page 6   
  33.   Future  ...........................................   Page 7
  34.   Quarks and Hints ..................................   Page 8
  35.   Version History ...................................   Page 9
  36.   Defines ...........................................   Page 11
  37.   Products:
  38.       Simple Windows 1.7
  39.           Functions:                                    
  40.               Window ................................   Page 13
  41.               Menu ..................................   Page 17
  42.               Entry .................................   Page 19
  43.               Print .................................   Page 22
  44.               Screen ................................   Page 25
  45.               Music .................................   Page 28
  46.               Disk ..................................   Page 29
  47.               Init ..................................   Page 31
  48.               Mouse .................................   Page 32
  49.       Font Edit 1.5
  50.           Functions .................................   Page 35
  51.           Executes ..................................   Page 40
  52.       VGA Edit 1.3          
  53.           Functions .................................   Page 41
  54.           Executes ..................................   Page 45
  55.       Simple Mouse 2.3    
  56.           Functions .................................   Page 47
  57.   Legal Stuff .......................................   Page 51
  58.   Registration ......................................   Page 59
  59. <PRINT><PAGE><NEW>                              
  60. <PRINT><HEADER><Simpsoft Inc.>
  61. <CENTER>
  62. <READ><LINE><1><74><205>
  63. The Simply Soft Story
  64. <PRINT><LINE><1><21><205>
  65. <LEFT>
  66.  
  67.     The Simpsoft Inc. product line has been three years in the 
  68.   making. We were tired of of stack overflow, out of memory 
  69.   errors, and that madding search for that lost open file or 
  70.   hidden overstrike. So we decided to write a small static 
  71.   utility library in C/C++ that would take care of all that. Three 
  72.   years later, Simply Soft gave birth to Simple Windows and the 
  73.   rest of the Simply Soft family.
  74.     Simply Soft is a DOS development and utility company aimed 
  75.   at the shareware developer. It is economical and user friendly. 
  76.   We have Five shareware and one free product at this time. All 
  77.   products are under $51 ,most are under $26 if not free 
  78.   (free, that's cheap), and a discount of 25 percent for all four 
  79.   utilities (Simply Windows 1.7, Font Edit 1.5, VGA Edit 1.3, and 
  80.   Simple Mouse 2.3). A $125 value for $100. Registration gets 
  81.   phone support (24 hour answering machine), email, and Discounts 
  82.   on upgrades are also offered. So check out your stuff and drop 
  83.   us a line.
  84.   
  85.                                       Sincerely,
  86.                                       Bruce R. O'Banion
  87.                                       Pres. Simpsoft Inc.
  88.  
  89. <PRINT><PAGE><NEW>                              
  90. <PRINT><HEADER><General Info>
  91. <CENTER>
  92. <READ><LINE><1><74><205>
  93. General Info
  94. <PRINT><LINE><1><12><205>
  95. <LEFT>
  96.    Full Pack 1.1 is a discounted package of all the Simply Soft
  97. I/O management utilities. All four products (Simple Windows 1.7,
  98. Font Edit 1.5, VGA Edit 1.3, and Simple Mouse 2.3) in one 
  99. registration. A $125 value for $100 (%25 discount). The online
  100. docs all in one program.
  101. <CENTER>      
  102. <READ><LINE><1><74><205>
  103. <PRINT><LINE><1><64><196>
  104. Simple Windows
  105. <READ><LINE><1><14><223>
  106. <PRINT><LINE><1><14><205>
  107. <LEFT>
  108.  
  109.    Simple Windows 1.7 is a text graphic orientated Turbo C/C++ 
  110. utility. The basic system used is file allocation with a static 
  111. 18k buffering system. This system achieves a small static ram 
  112. usage with virtually unlimited capacity. Literal thousands of 
  113. windows, menus, forms, and songs can be used and the library will 
  114. remain a static 18k ram usage. The libraries are small max 54k. 
  115. The library contains window and menu management. Both screen and 
  116. print form loads. Tone and cord music routines as will as a 
  117. playsong function. There is also disk management for all opening 
  118. and closing operations including pointers. Print management for 60 
  119. line by 80 characters pages is also included as will as a 
  120. makefile editor for the load files. There are two types of 
  121. libraries, debug and no debug. Swinerrx.lib is the debug library 
  122. and contains checks on parameters and files and displays error 
  123. messages on screen. The error massage will appear and the 
  124. function will abort. The massage will contain the parameters 
  125. found bad, the function it is in and the number of the current 
  126. window. Swinx.lib contains no error detection but will return 
  127. error codes from the functions on file allocation. It is also 
  128. smaller.
  129.    All functions return 0 on success and 1 on failure except 
  130. cursor hide/show All file allocations return -1 on end of file or 
  131. _doserrno on all other fails. Printer functions _doserrno on 
  132. failure,3 on time out, and biosprint stats for any other failure 
  133. and 0 for success.  
  134.   SWSKDEF.H is the special key bios codes (F, ALT, PageUP/DN, 
  135. CURSOR) and should be included if these are to be used.
  136.   Makefile is the real heart of simple windows. It is the editor 
  137. for constructing the call files. It has help screens for every 
  138. function. All you have to do is cursor to the function and hit F1. 
  139. A help screen will then appear. 
  140.   There are six types of files 5 are for the call files themselves 
  141. (window, menu,screen forms, print forms, and songs). The sixth is 
  142. the scheme file. It is for viewing your graphics for your entire 
  143. program. The current scheme display is also used when creating 
  144. windows and menus. All file types can be loaded at once so you can 
  145. work with windows and menus or screens for a single program 
  146. without reloading.
  147.   When all your files are made they then can be call in the 
  148. program saving much coding that would be required to build them 
  149. in the program. This will make your program much smaller and also 
  150. allows you to design your graphics with out using the compiler or 
  151. ,if you use a graphic artist, knowing programing.
  152.   I have included 3 conversion executes to change older Simple
  153. Windows files to the new format. Convwin and Convmen will convert
  154. old menu, help files and window files to the new format. They 
  155. take one argument the file name of the file to convert. Convsng
  156. will convert the song files to the new format.
  157.   Swtotext.exe and txttosw.exe will convert menu and help files
  158. to an ASCII text format for spell checking and back to Simple
  159. Windows format. Swtotxt.exe converts a file to ASCII text. It
  160. takes an argument of the file name to convert and gives it the
  161. extension .TXT. Txttosw.exe converts the file back to Simple
  162. windows format. It takes 2 arguments the text file to convert
  163. with the extension .TXT and the file name to restore to with
  164. extension (.MEN, .HLP, ect...). I've also included Mouse21 
  165. functions lib. It's functions are almost the same as Simple
  166. Mouse 2.3 and have not been put into the online docs (fultut.exe)
  167. Any differences can be check with This documentation under Simple
  168. Windows 1.7 catagory mouse functions. I have also include 
  169. ShareSpell 3.1 to do the spell checking. It is a separate 
  170. shareware program and must be registered separately 
  171. (see Sharespell docs).
  172. <CENTER>      
  173. <READ><LINE><1><74><205>
  174. <PRINT><LINE><1><64><196>
  175. Font Edit
  176. <READ><LINE><1><9><223>
  177. <PRINT><LINE><1><9><205>
  178. <LEFT>
  179.  
  180.   Font Edit 1.5 is a full text graphic font management and editing
  181. program. It can display 4 text fonts plus 4 large fonts from
  182. them for a total of 8 fonts at once on the screen. Even with 8
  183. fonts full line draw capabilities are retained. All functions are
  184. easy to use and a full font editor with mouse/hotkey and help 
  185. screens is included. There are four executes (loadfont.exe,
  186. dualon.exe, setpal.exe, makefont.exe) for use with system calls.
  187.   To understand these functions some theory on dual fonts is
  188. needed. Each font is 255 characters with character 256 reserved.
  189. With dual fonts you have 510 characters to work with. Each 
  190. character is a 8x16 pixel bitmap. Characters C0 through DF are the
  191. blend characters in VGA and will use the ninth bit. VGA characters
  192. are 9x16 pixel with the 9th bit the background color except for
  193. the blend characters which the 9th bit is the same as the 8th. EGA
  194. fonts are all the same (8x14).
  195.   In dual font mode the intensity bit (attribute bit 3) selects 
  196. witch font bank you use but it all so selects the foreground color
  197. from the palette registers. So for tow fonts to display in the 
  198. same color both the high and low palette registers must be the
  199. same color.
  200.   The palette register is 16 color registers. Register 0 through 7
  201. are the low intensity colors (background colors) and register
  202. 8 through 15 are high intensity colors (foreground colors). In 
  203. dual font mode bank 0 font is displayed if the intensity bit is 0 
  204. with the low intensity color and bank 1 font is displayed if the 
  205. intensity bit is 1 with the high intensity color. This means that
  206. the low and high palette registers have to be set to the same 
  207. color to display both fonts in the same color. So to display both 
  208. fonts in yellow both palettes 6 and 14 must be set to color 63. 
  209. The palette registers can be set to one of 64 colors from the DAC
  210. (0 through 63).
  211.   Once you have set the palettes the lib will manage the attribute
  212. bit for the proper color. NOTE: the palette must be reset to the
  213. right colors when you exit. If you use the executes for font 
  214. control you the programmer must keep track of the attribute bit.
  215. For color control and editing look for VGA11B.ZIP (Vgaedit 1.1B)
  216. a fine VGA color editor with over 256k color capacity. EGA will
  217. only use the first 64 colors in the DAC and is note changeable.
  218.   With dual fonts there are 64 blend characters 32 (C0 through DF)
  219. in each bank. Only one set is needed for line draw leaving one
  220. set for something else. A 2x2 bit map requires 16 characters to
  221. produce every combination possible. Load_emulate loads this bit 
  222. map combination into one of the banks in characters C0 through 
  223. CF. These I use to produce the large fonts reproducing the bit 
  224. map of the character you wish to display in a 4x8 character size. 
  225. And to draw the clown found in the demo. Since any character is a 
  226. 8x16 bit map you can with some editing produce drawings with the
  227. resolution of 160x50 pixels.
  228.   With makefont I produce a multi font or two 96 character fonts
  229. in one bank. They are managed so that no line draw or blend
  230. characters are used and with the lib are as easy to use as just
  231. calling one of four fonts and will all (4 standard and 4 large)
  232. display at once.
  233.   The palette needs to be blocked from resetting to default
  234. colors in there is a mode reset. This is done with enable_reset()
  235. or resetpal.exe.
  236.   Init_multi_font() will set up and manage all dual font modes
  237. with one function. It loads both font banks and the palette and
  238. sets the palette to the 8 upper colors. With this function you
  239. can code and not worry about the colors not being right in your
  240. program.
  241. <CENTER>      
  242. <READ><LINE><1><74><205>
  243. <PRINT><LINE><1><64><196>
  244. VGA Edit
  245. <READ><LINE><1><8><223>
  246. <PRINT><LINE><1><8><205>
  247. <LEFT>
  248.  
  249.   VGA EDIT 1.3 is a full VGA color editor and management utility 
  250. for DOS and Turbo C/C++. All palette and DAC register settings 
  251. can be edited and saved to files which are easily loaded with a 
  252. single call. This allows you (the developer) to use the complete 
  253. color capabilities of VGA in text graphics modes. You can get 16 
  254. out of over 256k color combinations. The color scheme of you 
  255. product and literally change with every key stroke giving you true 
  256. graphics color with the speed of text and smallness of text 
  257. graphics.
  258.   The editor (vgaedit.exe) is full mouse,cursored and hotkeyed 
  259. for friendly use. All functions have help screens called by F1. 
  260. All file overwrites are prompted and backed up.
  261.   A note about VGA color.  EGA color is restricted to The first 
  262. 64 DAC registers and these are set and not changeable. In vga 
  263. color the DAC registers as well as the palette registers can be 
  264. changed. In VGA the DAC registers can be set to over 256,000 
  265. different settings giving you 16 out of over 256,000 colors and 
  266. the DAC as well as the palette can be saved for easy management 
  267. of multiple color schemes in plain DOS text graphics mode.
  268. <CENTER>      
  269. <READ><LINE><1><74><205>
  270. <PRINT><LINE><1><64><196>
  271. Simple Mouse
  272. <READ><LINE><1><12><223>
  273. <PRINT><LINE><1><12><205>
  274. <LEFT>
  275.  
  276.   Simple Mouse v2.3 is designed to work with the rest of The 
  277. Simpsoft Inc. family or as a stand alone C/C++ lib for mouse 
  278. control. It has a true graphics cursor that is changeable and no 
  279. interrupt handler. The cursor uses ASCII characters 0xdc - 0xdf. 
  280. Using only four characters for the cursor requires a smaller 
  281. cursor character (6x14 in VGA and 6x12 in EGA). With registaration
  282. you will get a special editor formated for EGA and VGA to make 
  283. these fonts. I give you eight of these in moucurs.fnt. 
  284. Position is returned in both text graphic X and Y and pixel. Plus 
  285. with no handler abnormal termination will not lock your machine.
  286. <CENTER>      
  287. <READ><LINE><1><74><205>
  288. <PRINT><LINE><1><64><196>
  289. <LEFT>
  290.  
  291.    Installation is easy just unzip FULPAC11.ZIP and from that 
  292. directory or disk type install at the prompt. Then follow the 
  293. instructions. Full Pack can be deinstalled just as easy. 
  294. Again use install.exe from the distribution disk or if zipped 
  295. unzip to a temp directory and run from there. Fullpack.doc can be 
  296. read or printed with readocs.exe. It is a text file reader/printer 
  297. and will read or print a text file.
  298.  
  299.   This program and utility were compiled on a 386 clone with the 
  300. 286 instruction set. It requires a 286 PC or compatible DOS 4.1
  301. or higher,MS mouse, and EGA or higher (VGA for some 
  302. functions). A 9 pin dot matrix is needed to print the docs. 
  303.  
  304.   Feel free to call me or leave a note of criticism or praise 
  305. about this or any other Simpsoft product. Any feedback will be 
  306. greatly appreciated. See Support.
  307.  
  308. <PRINT><PAGE><NEW>                              
  309. <PRINT><HEADER><Support>
  310. <CENTER>
  311. <READ><LINE><1><74><205>
  312. Support
  313. <PRINT><LINE><1><7><205>
  314. <LEFT>
  315.  
  316. I will be available for tech support at this address:
  317.      
  318.            Bruce R. O'Banion
  319.            RT 1 Box 148A
  320.            Pauls Valley,OK 73075
  321.        
  322.            Phone: 405-665-4042  (24hr answer machine)
  323.                   405-665-4047  (24hr answer machine)
  324.      
  325. Or on the internet simplyst@telepath.com
  326.  
  327. Home page: http://www.telepath.com/simplyst/homepage.htm
  328.  
  329. <PRINT><PAGE><NEW>
  330. <PRINT><HEADER><Future>
  331. <CENTER>
  332. <READ><LINE><1><74><205>
  333. The Future
  334. <PRINT><LINE><1><10><205>
  335. <LEFT>
  336.  
  337.   Simply Soft is a new approach to some of the headaches of 
  338. shareware development and packaging. I have designed a line of 
  339. development utilities and libraries for some of the redundant and 
  340. code hungary I/O management and control. Soon I will have these 
  341. and more in other languages and as a single package. Early in 97 
  342. I will release a complete Install/deinstall and document package 
  343. that will give you ASP specs in those areas with just a few text 
  344. files you make on a simple ASCII editor. With these and a DIZ/DOZ 
  345. file editor you as the sharewarer will have all the tools and 
  346. user friendly editors to produce your own quality (ASP standards) 
  347. programs.
  348.   I plan for more music cords and styles, 4 screens modes, a 
  349. better makefile editor, more entries like float and double. I 
  350. am also working on a full screen editor as a single call. There 
  351. will be complete window management, editing, and moves. Last but 
  352. not least more ASM code for speed and size and more.
  353.   I will have better emulation (maybe 264x172 or 160x100) and 
  354. tall fonts as well as multiple sizes with emulation coming. 
  355. Graphics printing with bitmaps made from screen fonts is also
  356. in the works.
  357.   This and other Simply Soft  utilities  are going to be combined
  358. into a complete I/O management system with all graphics control
  359. in one easy editor so your full graphics scheme (color, screens,
  360. menus, forms, songs, and fonts) can be edited and viewed together
  361. for complete management system.
  362.   If you have any suggestions on these products or future products 
  363. drop me a line. If you what to keep up with our development and 
  364. get full details on our products and future ones visit my homepage 
  365. (see support for address).
  366.  
  367. For other products and news see my webpage at: 
  368.  
  369.             http://www.telepath.com/simplyst/homepage.htm
  370. <PRINT><PAGE><NEW>
  371. <PRINT><HEADER><Quarks and Hints>
  372. <CENTER>
  373. <READ><LINE><1><74><205>
  374. Quarks and Hints
  375. <PRINT><LINE><1><16><205>
  376. <LEFT>
  377.  
  378. SIMPLE WINDOWS:
  379.     When compiling small debug library a text overflow may occur. 
  380.     Change to the large debug library and compile tell error free 
  381.     then try the small nondebug library.
  382.  
  383. Makefile:
  384.     When using the screen editor layout all the coordinates on
  385.     graph paper then enter them as you have laid them out.
  386.  
  387.     Make all windows and menus in order (window 0,menu 1,window
  388.     1, menu 2, ect ...(windows start at 1 and menus start at 0). 
  389.     This will show your scheme as it will appear in your program.
  390.  
  391.     For songs also lay them out on paper then enter them.
  392.  
  393.     The makefile menu editor will not show a blank line unless
  394.     it has two or three spaces in it.
  395.  
  396. Mouse 23:
  397.     A debugging tip with Mouse23 is shown in simptut.c. Make 
  398.     mou_switch = 0 after mouse is installed and OR it equal to
  399.     zero with bioskey(1). This will make the loop stop and look 
  400.     for key entry at the bioskey(0) call.
  401.  
  402.     If the mouse positions in pix do not return correctly 
  403.     moureset() can be used to correct this. Some interrupts
  404.     will cause this to happen.
  405.  
  406.     The mouse functions are Micro Soft Mouse or compatible.
  407.  
  408. Font Edit 1.5:
  409.       Write_win_bank() will only work with standard single fonts
  410.    loaded and write_win_multi() will only work with special multi
  411.    fonts made with makefont.exe. This is why in the tutor you
  412.    will see the registration reminder messed. It works only with
  413.    single fonts and is in the enable_double_font and dualon.exe
  414.    functions.
  415. <PRINT><PAGE><NEW>
  416. <PRINT><HEADER><Version History>
  417. <CENTER>
  418. <READ><LINE><1><74><205>
  419. Simple Windows History
  420.  
  421. <LEFT>
  422. Version 1.0
  423.    Basic functions and first release.
  424.    6/10/94
  425. Version 1.1
  426.    Bug fixes to functions and additional functions.
  427.    12/3/94
  428. Version 1.2 
  429.    Bug fixes, Additions to online docs.
  430.    2/21/95
  431. Version 1.3
  432.    Addition of Readocs.exe and ASP exceptence.
  433.    Addition of swloadft.exe
  434.    4/12/96
  435. Version 1.4
  436.    ASP specs fixes and repackaging.
  437.    6/12/96
  438. Version 1.5
  439.    Bug fixes to makefile and upgrade of Readocs.exe
  440.    12/2/96
  441. Version 1.6
  442.    More fixes to makefile.exe
  443.    3/10/97
  444. Version 1.7
  445.    Upgrade of formating and buffering system.
  446.    addition of conversion files and ShareSpell.
  447.    7/2/97
  448. <CENTER>
  449. <PRINT><LINE><1><64><196>
  450. <READ><LINE><1><74><205>
  451. Font Edit History
  452.  
  453. <LEFT>
  454. Version 1.0 : 
  455.   First release.
  456.   4/20/96
  457. Version 1.1:
  458.   Added libs
  459.   8/13/96
  460. Version 1.2
  461.   Bug fixes in Libs and editor.
  462.   2/2/97
  463. Version 1.3
  464.   Added to libs.
  465.   4/23/97
  466. Version 1.4
  467.   Bug fix in editor for Ziff-Davis Shareware Awards.
  468.   It was late.
  469.   5/13/97
  470. Version 1.5
  471.   Upgrade in Simple Windows libs recompiled. Upgrade to 
  472.   Readocs.exe. Bug fixes to editor load.
  473.   7/1/97
  474. <PRINT><PAGE><NEW>
  475. <CENTER>
  476. <READ><LINE><1><74><205>
  477. VGA Edit History
  478.  
  479. <LEFT>
  480. Version 1.0 : 
  481.   First release.
  482.   4/20/96
  483. Version 1.1:
  484.   Added libs
  485.   8/13/96
  486. Version 1.2
  487.   Bug fixes in Libs and editor.
  488.   4/1/97
  489. Version 1.3
  490.   Upgrade in Simple Windows libs recompiled. Upgrade to 
  491.   Readocs.exe. Bug fixes to editor load.
  492.   7/1/97
  493. <CENTER>
  494. <PRINT><LINE><1><64><196>
  495. <READ><LINE><1><74><205>
  496. Simple Mouse History
  497.  
  498. <LEFT>
  499. Version 2.0:
  500.   First release be came mou92 in Simpwn93 Freeware.
  501.   5/23/95
  502. Version 2.1
  503.   Added changeable cursor
  504.   distribute with Simple Windows 
  505.   8/9/95
  506. Version 2.2
  507.   Added True graphics cursor.
  508.   4/3/96
  509. Version 2.3
  510.   Bug Fixes and added Dual font capabilities.
  511.   4/23/97
  512. <PRINT><PAGE><NEW>
  513. <PRINT><HEADER><Defines>
  514. <CENTER>
  515. <READ><LINE><1><74><205>
  516. Defines
  517.  
  518. Special key defines:
  519. <LEFT>
  520.   ESC            283   F1 15104    ALT_F1  26624    SHIFT_TAB 3840
  521.   PGDN         20736   F2 15360    ALT_F2  26880    BACKSPACE 3592
  522.   PGUP         18688   F3 15616    ALT_F3  27136    DEL      21248
  523.   CURSOR_UP    18432   F4 15872    ALT_F4  27392    TAB       3849 
  524.   CURSOR_DN    20480   F5 16128    ALT_F5  27648
  525.   CURSOR_LEFT  19200   F6 16384    ALT_F6  27904
  526.   CURSOR_RIGHT 19712   F7 16640    ALT_F7  28160
  527.   ENTER         7181   F8 16896    ALT_F8  28416
  528.   HOME         18176   F9 17152    ALT_F9  28672
  529.   END          20224   F10 17408   ALT_F10 28928
  530.   
  531.   ALT_A   7680    ALT_B  12288    ALT_C  11776    ALT_D   8192
  532.   ALT_E   4608    ALT_F   8448    ALT_G   8704    ALT_H   8960
  533.   ALT_I   5888    ALT_J   9216    ALT_K   9472    ALT_L   9728
  534.   ALT_M  12800    ALT_N  12544    ALT_O   6144    ALT_P   6400
  535.   ALT_Q   4096    ALT_R   4864    ALT_S   7936    ALT_T   5120
  536.   ALT_U   5632    ALT_V  12032    ALT_W   4352    ALT_X  11520
  537.   ALT_Y   5376    ALT_Z  11264     
  538. <CENTER>
  539. Other Defines:
  540. <LEFT>
  541.  
  542.        boarder:             shadow style:     shadow location:
  543.  
  544.   NO_BOARDER       0      NO_SHADOW      0     LOWER_LEFT   1
  545.   SINGLE_BOARDER   1      NARROW_SHADOW  2     UPPER_LEFT   2
  546.   DOUBLE_BOARDER   2      WIDE_SHADOW    1     LOWER_RIGHT  3
  547.   SIG_DUB_BOARDER  3                           UPPER_RIGHT  4
  548.   DUB_SIG_BOARDER  4      
  549.   ANY_BOARDER      5                            word defines:
  550.  
  551.                 note defines:                     ON    1
  552.                                                   OFF   0
  553.   _A   1    _Bb   2    _B    3    _C    4         YES   1
  554.   _Cs  5    _D    6    _Eb   7    _E    8         NO    0
  555.   _F   9    _Fs  10    _G   11    _Ab  12         EOF  -1
  556.  
  557.                         cord type defines:
  558.  
  559.   _MAJOR       1         _MINOR       2         _MAJOR_7TH    3
  560.   _7TH         4         _MINOR_7TH   5         _MAJOR_9TH    6
  561.   _6TH         7         _MINOR_6TH   8         _9TH          9
  562.   _MINOR_9TH   10        _AUGMENTED   11        _DIMINISHED   12
  563.  
  564.   Simple Mouse 2.3                  Mouse 2.1
  565.  
  566.   LEFTBUTTON   0         LEFTBUTTON   0   BLINKCUR       0x8000
  567.   RIGHTBUTTON  1         RIGHTBUTTON  1   INVERSCHAR     0x3300
  568.   MIDBUTTONT   2         MIDBUTTONT   2   GRAPHICCUR     0x00ff
  569.                                    STANDARDCUR   0
  570. <PRINT><PAGE><NEW>
  571. <CENTER>
  572. EGA color defines
  573. <PRINT><LINE><1><17><205>
  574.  
  575. C_BLACK               0       C_BLUE                1
  576. C_GREEN               2       C_CYAN                3
  577. C_RED                 4       C_MAGENTA             5
  578. C_LIME                6       C_LIGHT_GRAY          7
  579. C_DARK_PURPLE         8       C_BRIGHT_BLUE         9
  580. C_LIGHT_GREEN        10       C_PALE_CYAN          11
  581. C_ROSE               12       C_PALE_PURPLE        13
  582. C_PEA_GREEN          14       C_PALE_MAGENTA       15
  583. C_FOREST_GREEN       16       C_INDIGO             17
  584. C_BRIGHT_GREEN       18       C_PALE_GREEN         19
  585. C_BROWN              20       C_LIGHT_MAGENTA      21
  586. C_BRIGHT_GREEN_2     22       C_PALE_GREEN_2       23
  587. C_DARK_GRAY          24       C_LIGHT_BLUE         25
  588. C_BRIGHT_GREEN_3     26       C_LIGHT_CYAN         27
  589. C_RED_BROWN          28       C_PALE_MAGENTA_2     29
  590. C_BRIGHT_GREEN_4     30       C_BRIGHT_CYAN        31
  591. C_DARK_RED           32       C_DARK_INDIGO        33
  592. C_GREEN_2            34       C_CYAN_2             35
  593. C_BRIGHT_RED         36       C_BRIGHT_MAGENTA     37
  594. C_ORANGE_YELLOW      38       C_MELLON             39
  595. C_DARK_PURPLE_2      40       C_BLUE_2             41
  596. C_GREEN_3            42       C_SKY_BLUE           43
  597. C_BRIGHT_RED_2       44       C_BRIGHT_MAGENTA_2   45
  598. C_TAN                46       C_PINK               47
  599. C_FOREST_GREEN_2     48       C_BLUE_GRAY          49
  600. C_BRIGHT_GREEN_5     50       C_PALE_GREEN_3       51
  601. C_RED_ORANGE         52       C_DARK_PINK          53
  602. C_LIME_YELLOW        54       C_PALE_YELLOW        55
  603. C_DARK_GRAY_2        56       C_BLUE_3             57
  604. C_GREEN_4            58       C_PALE_CYAN_2        59
  605. C_LIGHT_RED          60       C_PALE_MAGENTA_3     61
  606. C_YELLOW             62       C_WHITE              63
  607.  
  608. <PRINT><PAGE><NEW>
  609. <CENTER>
  610. <READ><LINE><1><74><205>
  611. <PRINT><OFF>
  612. Simple Windows 1.7
  613. <READ><LINE><1><18><223>
  614. <PRINT><HEADER><Simple Windows 1.7>
  615. Windows Functions
  616. <READ><LINE><1><17><223>
  617. <PRINT><LINE><1><17><205>
  618. <PRINT><LINE><1><64><196>
  619. <READ><LINE><1><74><205>
  620. simp_window()
  621. <PRINT><LINE><1><64><196>
  622. <READ><LINE><1><74><205>
  623. <LEFT>
  624.    Simp_window() is the basic window function. It dose not mask 
  625. so what is on screen a the time of call is lost. If you study the 
  626. simptut code you will see that I use simp_window() as a base 
  627. window and with mouse along with a screen save. 
  628.    The parameters for this function are the corner coordinates 
  629. left, top, right, bottom. The boarder and shadow styles are next. 
  630. Then come the text attributes foreground and back ground. Next is 
  631. the shadow location. After that come the shadow attributes fore 
  632. and back. Last the boarder character if needed and the fill 
  633. character.
  634.    The window coordinates are from 1 to 80 for left and right and 
  635. 1 to 25 for top and bottom. Boarder styles are 0 through 5: 0 for 
  636. no boarder, 1 for single, 2 for double, 3 and 4 for single/double 
  637. line, and 5 for any ASCII character boarder. Shadow style are 0 
  638. through 3: 0 for no shadow, 1 for wide shadow, and 3 for narrow 
  639. shadow.
  640.    Color attributes for text and shadows are standard text colors 
  641. 0 to 15. Colors 8 to 15 in the back ground set the blink bit. The 
  642. shadow locations are 1 to 4 (see simpwn12.h for defines). And last 
  643. the borader and fill characters are any ASCII code 0 through 255.
  644.  
  645.    Example:
  646.  
  647.           simp_window(20,5,60,20,5,2,14,4,1,8,0,170,190);
  648.  
  649.    This will display a window 40 x 15 with a boarder of character 
  650.    190 with a narrow shadow with yellow text on a red background.
  651. <CENTER>
  652. <PRINT><LINE><1><64><196>
  653. <READ><LINE><1><74><205>
  654. popup_window()
  655. <PRINT><LINE><1><64><196>
  656. <READ><LINE><1><74><205>
  657. <LEFT>
  658.    Popup_window() is the basic mask window call. It has the same 
  659. parameters as simp_window() except for the first one and that is 
  660. the record or file number. This call will not error if the file 
  661. number is greater than the number of windows initialized but 
  662. after the maxed initialized they must be called in sequence or the 
  663. wrong file number will be saved. Once called it can be called then 
  664. in any sequence. Popup_window() should be called only for windows 
  665. that are not made either by makefile or make_window() since it 
  666. will change the parameters saved for that window. The file number 
  667. can be defined as a name (est. QUIT_WIN) using a define statement.
  668.          
  669. Example:
  670.    Popup_window(31,20,10,60,12,1,2,7,0,1,8,0,0,0);
  671.  
  672.    This will display window 31 that is 40 x 3 with a single 
  673.    boarder, narrow shadow and lightgray characters on a black 
  674.    background.
  675. <CENTER>
  676. <PRINT><LINE><1><64><196>
  677. <PRINT><PAGE><NEW>
  678. <PRINT><LINE><1><64><196>
  679. <READ><LINE><1><74><205>
  680. make_window()
  681. <PRINT><LINE><1><64><196>
  682. <READ><LINE><1><74><205>
  683. <LEFT>
  684.     Make_window() is a nondisplay call and has the same 
  685. parameters as popup_window(). It is used to make a window in the 
  686. program rather than in the makefile. It only saves the parameters 
  687. to a file number and call_window must be used to display the 
  688. window. This call will error if the file number is greater than 
  689. the max number of windows initialized. 
  690.  
  691. Example:
  692.      make_window(3,20,10,60,15,1,2,15,1,1,8,0,0,0);
  693.  
  694.      This call will make a window in the win.dat file at record 3 
  695.      that is 40 x 6 with a single boarder, narrow shadow, and 
  696.      white characters on a blue background.
  697. <CENTER>
  698. <PRINT><LINE><1><64><196>
  699. <READ><LINE><1><74><205>
  700. call_window()
  701. <PRINT><LINE><1><64><196>
  702. <READ><LINE><1><74><205>
  703. <LEFT>
  704.     Call_window() displays a already made window. It has only one 
  705. parameter the file number. It will error if the file number 
  706. exceeds the max windows initialized. Call_window can be call at 
  707. any time for a window already created with make_window() or 
  708. MAKEFILE. If it is called more than once with out an 
  709. uncall_window() the masking info will be lost and only the last 
  710. calls mask is saved. This will be improved in the upgrade so that 
  711. no info is lost and calls can be make at any time with out worry.
  712.            
  713. Example:
  714.    call_window(4);
  715.  
  716.    This will call window 4 from the win.dat file.
  717. <CENTER>
  718. <PRINT><LINE><1><64><196>
  719. <READ><LINE><1><74><205>
  720. uncall_window()
  721. <PRINT><LINE><1><64><196>
  722. <READ><LINE><1><74><205>
  723. <LEFT>
  724.    Uncall_window() restores the screen info save by the last call 
  725. to call_window() for a particular file number. It has like 
  726. call_window() only one parameter the file number.
  727.              
  728. Example:
  729.    uncall_window(4);
  730.  
  731.    This will uncall window 4.
  732. <CENTER>
  733. <PRINT><LINE><1><64><196>
  734. <PRINT><PAGE><NEW>
  735. <PRINT><LINE><1><64><196>
  736. <READ><LINE><1><74><205>
  737. unpopup_window()
  738. <PRINT><LINE><1><64><196>
  739. <READ><LINE><1><74><205>
  740. <LEFT>
  741.    unpopup_window() is the uncall function for popup_window and 
  742. acts the same. It has only one parameter, the file number.
  743.          
  744. Example:
  745.    unpopup_window(31);
  746.  
  747.    This will unpopup window 31.
  748. <CENTER>
  749. <PRINT><LINE><1><64><196>
  750. <READ><LINE><1><74><205>
  751. clear_window()
  752. <PRINT><LINE><1><64><196>
  753. <READ><LINE><1><74><205>
  754. <LEFT>
  755.    Clear_window() will clear and fill the current window with the 
  756. fill character. This can be any ASCII code character.
  757.    
  758. Example:   
  759.    clear_window(0);
  760.     
  761.    This will fill the current window with null or space characters 
  762.    leaving the boarder untouched.
  763. <CENTER>
  764. <PRINT><LINE><1><64><196>
  765. <READ><LINE><1><74><205>
  766. move_window()
  767. <PRINT><LINE><1><64><196>
  768. <READ><LINE><1><74><205>
  769. <LEFT>
  770.    Move_window() will move the current window's lefttop corner to 
  771. the new x, y coordinates. If the window moves off of the screen 
  772. the function fails and no move is made.
  773.      
  774. Example:
  775.    move_window(10,10);
  776.    
  777.    This moves the current window ,text and all, to the new topleft 
  778.    setting.
  779. <CENTER>
  780. <PRINT><LINE><1><64><196>
  781. <READ><LINE><1><74><205>
  782. load_win_data()
  783. <PRINT><LINE><1><64><196>
  784. <READ><LINE><1><74><205>
  785. <LEFT>
  786.     Load_win_data loads a file made by makefile so it can be used 
  787. by call_window(). It has a single parameter, the file name as a 
  788. string to be loaded. This function loads a file to the window file 
  789. path chosen with init_window().
  790.          
  791. Example:
  792.    load_win_data("c:\tc\simptut.win");
  793.  
  794.    This will load simptut.win (make with makefile) from directory 
  795.    tc to win.dat.
  796. <CENTER>
  797. <PRINT><LINE><1><64><196>
  798. <READ><LINE><1><74><205>
  799. <PRINT><PAGE><NEW>
  800. <PRINT><LINE><1><64><196>
  801. write_window()
  802. <PRINT><LINE><1><64><196>
  803. <READ><LINE><1><74><205>
  804. <LEFT>
  805.    Write_window() is like printf but has positioning parameters. 
  806. It will fail and abort if a character is out side of the boarder 
  807. of the current win.
  808.    
  809. Example:
  810.    char name[20] = "bruce";
  811.    
  812.    write_window(3,5,"My name is % s",name);
  813.    
  814.    This will display 'My name is bruce' at 3,5 of the current 
  815.    window.
  816. <CENTER>
  817. <PRINT><LINE><1><64><196>
  818. <PRINT><PAGE><NEW>
  819. <READ><LINE><1><74><205>
  820. Menu Functions
  821. <READ><LINE><1><14><223>
  822. <PRINT><LINE><1><14><205>
  823. <PRINT><LINE><1><64><196>
  824. <READ><LINE><1><74><205>
  825. make_menu()
  826. <PRINT><LINE><1><64><196>
  827. <READ><LINE><1><74><205>
  828. <LEFT>
  829.    Make_menu() is a nondisplay function to create menus in 
  830. program. It has 3 parameters, file number, line count, and a 
  831. string for each line. File number is the record number for the 
  832. menu file. This is the record or file number used to save the menu 
  833. and to call it. Line count is the number of lines in the menu. 
  834. This tells how many strings there are to the menu. The max number 
  835. of lines in a menu are 23 of 76 characters each.
  836.       
  837. Example:
  838.    make_menu(2,5,"string 1","string 2","string 3","string 4",
  839.              "string 5");
  840.  
  841.    This will make a menu with strings 1 through 5 and store it in 
  842.    position 2 in menu.dat.
  843. <CENTER>
  844. <PRINT><LINE><1><64><196>
  845. <READ><LINE><1><74><205>
  846. load_menu_text()
  847. <PRINT><LINE><1><64><196>
  848. <READ><LINE><1><74><205>
  849. <LEFT>
  850.    Load_menu_text() loads the menu file make with makefile into 
  851. the menu data file. It has one parameter, a string for the path 
  852. and name of the file to be loaded.
  853.           
  854. Example:
  855.    load_menu_text("simptut.men");
  856.  
  857.    This will load simptut.men (make with makefile) into menu.dat.
  858. <CENTER>
  859. <PRINT><LINE><1><64><196>
  860. <READ><LINE><1><74><205>
  861. call_menu()
  862. <PRINT><LINE><1><64><196>
  863. <READ><LINE><1><74><205>
  864. <LEFT>
  865.     Call_menu() displays the menu called by the parameter 
  866. file_num. There are 3 parameters to this call, file number, X 
  867. coordinate, and Y coordinate. The file number is the record number 
  868. for the menu in the menu data file. X and Y coordinates are the 
  869. upper left location in the current window to start displaying the 
  870. menu.  
  871.             
  872. Example:
  873.     call_menu(2,3,3);
  874.  
  875.     This will call menu 2 from menu.dat and display it in the 
  876.     current window starting at coordinates 3, 3.
  877. <CENTER>
  878. <PRINT><LINE><1><64><196>
  879. <PRINT><PAGE><NEW>
  880. <PRINT><LINE><1><64><196>
  881. <READ><LINE><1><74><205>
  882. load_text()
  883. <PRINT><LINE><1><64><196>
  884. <READ><LINE><1><74><205>
  885. <LEFT>
  886.     Load_text() displays a screen of text 22 lines by 76 
  887. characters max. It displays at coordinates 3,3 of the current 
  888. window. There are to parameters fine number and file name. File 
  889. number is the record number of the text screen to display and 
  890. file name contains the path and name of the text file. The text 
  891. files are the same as the menu files but are used for help 
  892. screens. They are also made the same as menu files with makefile.
  893.       
  894. Example:
  895.    load_text(2,"c:\tc\stuttext.men");
  896.  
  897.    This will display text screen 2 from stuttext.men (made with 
  898.    makefile) in the current window.
  899. <CENTER>
  900. <PRINT><LINE><1><64><196>
  901. <PRINT><PAGE><NEW>
  902. <READ><LINE><1><74><205>
  903. Entry Functions
  904. <READ><LINE><1><16><223>
  905. <PRINT><LINE><1><16><205>
  906. <PRINT><LINE><1><64><196>
  907. <READ><LINE><1><74><205>
  908. get_choice()
  909. <PRINT><LINE><1><64><196>
  910. <READ><LINE><1><74><205>
  911. <LEFT>
  912.   Get_choice() is a boolean function in that it returns a 1 for 
  913. true or yes and 0 for false or no. There are three parameters, X 
  914. and y coordinates for cursor and default display positioning in 
  915. the current window and the default character. This is either T or 
  916. F or Y or N. It returns 2 on failure.
  917.           
  918. Example:
  919.   get_choice(20,3,"Y");
  920.  
  921.   This call will display a Y at coordinates 20, 3 and wait for a 
  922.   return or a y or n and return.
  923. <CENTER>
  924. <PRINT><LINE><1><64><196>
  925. <READ><LINE><1><74><205>
  926. get_int_date()
  927. <PRINT><LINE><1><64><196>
  928. <READ><LINE><1><74><205>
  929. <LEFT>
  930.    Get_int_date() gets the date in MM/DD/YY format. There are 3 
  931. parameters in this function, a 3 int array for the date and X and 
  932. Y coordinates for positioning in the current window. Array[0] is 
  933. the month, array[1] is the day, and array[2] is the year.
  934.         
  935. Example:
  936.      int date[3];
  937.        
  938.      get_int_date(date,20,3);
  939.  
  940.      This call will display the contents of date in the format 
  941.      date[0]/date[1]/date[2] at 20,3 in the current window and 
  942.      wait for data entry and return.
  943. <CENTER>
  944. <PRINT><LINE><1><64><196>
  945. <READ><LINE><1><74><205>
  946. get_int()
  947. <PRINT><LINE><1><64><196>
  948. <READ><LINE><1><74><205>
  949. <LEFT>
  950.     Get_int() is a intiger entry and takes a pointer to int, the 
  951. number of digits including the sign, and X and Y coordinates. 
  952. Valid digit lengths are 1 to 6 with overflow detection. X Y 
  953. coordinates are again for current window placement of display.
  954.           
  955. Example:
  956.    int number;
  957.          
  958.    get_int(&number,4,3,3);
  959.  
  960.    This call will display the contents of number at coordinates 
  961.    3,3 and wait for 4 digit entries including - and exit on esc 
  962.    or return.
  963. <CENTER>
  964. <PRINT><LINE><1><64><196>
  965. <PRINT><PAGE><NEW>
  966. <PRINT><LINE><1><64><196>
  967. <READ><LINE><1><74><205>
  968. get_string()
  969. <CENTER>
  970. <PRINT><LINE><1><64><196>
  971. <READ><LINE><1><74><205>
  972. <LEFT>
  973.     Get_string is a standard string entry. It has backspace with 
  974. no cursor or insert. It is masked and formated. It's parameters 
  975. are:pointer to string, a mask string, a format string, X and Y 
  976. coordinates, Mask strip switch, and default display switch. The 
  977. mask string is any ASCII character for and space for a mask, The 
  978. format string is made up of spaces where masked and format 
  979. characters (see edit_string()) for entries. Both mask and format
  980. must be consistent for proper function. Error detection is in the 
  981. debug lib but masked characters and entries must match. The strip 
  982. switch is ON for stripping the mask form entry and 0 for the 
  983. masks inclusion in entry. The default display switch is ON or 1 
  984. to display what is in the enter string and OFF or 0 for no display 
  985. and mask display. The x y coordinate are for display placement in 
  986. the current window. It returns 27 on ESC. 
  987.  
  988. Example:
  989.    char name[10];
  990.        
  991.    get_string(name,"         ","uAAAAAAAA",3,3,1,1);
  992.  
  993.    This call will display the contents of name at coordinates 3, 
  994.    3, mask all but alpha characters and force an upper case on the 
  995.    first entry. It will strip the mask and if any character but 
  996.    backspace is hit first clear name. It will exit on esc with no 
  997.    data change or return.
  998. <CENTER>
  999. <PRINT><LINE><1><64><196>
  1000. <READ><LINE><1><74><205>
  1001. edit_string()
  1002. <PRINT><LINE><1><64><196>
  1003. <READ><LINE><1><74><205>
  1004. <LEFT>
  1005.    Edit_string() is a full field edit using insert or overstrike. 
  1006. The left and right cursor keys are active as are HOME and END. 
  1007. Any special key such as F keys, ALT keys, PGUP/PGDN, or UP/DN 
  1008. cursor keys are return by the function with the edit string saved. 
  1009. This allows edit_string to be used in a full screen editor (see 
  1010. simptut demo). The defines for the special keys are in swskdef.h 
  1011. and should be an include if you use this function. The parameters 
  1012. are, a pointer to a string, a format string of format characters,
  1013. X and Y coordinates for the display of the string in the current 
  1014. window, and a string of special key masking characters. Format 
  1015. characters allow only certain characters to be entered and special 
  1016. key mask block the use of certain special keys.
  1017.  
  1018. Example:
  1019.   char name[10];
  1020.      
  1021.   edit_string(name,"*********",3,3,"TCAFP");  
  1022.  
  1023.   This call displays the contents of name at coordinates 3, 3 
  1024.   and will mask out tabs,up/dn cursor,up/dn page,F and ALT keys 
  1025.   and control characters. The contents of name can be edited with 
  1026.   insert/overstrike and left/right cursor 
  1027. <PRINT><LINE><1><64><196>
  1028. <CENTER>
  1029. <READ><LINE><1><74><196>
  1030. <PRINT><LINE><1><64><196>
  1031. Format Characters
  1032. <PRINT><LINE><1><64><196>
  1033. <READ><LINE><1><74><196>
  1034. <LEFT>
  1035.    Format characters:                     Special key masks
  1036.                                                    
  1037. *  any ascii character                   T  mask out TAB keys
  1038. A  alphanumeric character                A  mask out ALT key
  1039. U  upper case alpha only                 F  mask out function keys
  1040. L  lower case alpha only                 C  mask out CTRL key
  1041. u  forced upper case alpha               P  mask out printer 
  1042. l  forced lower case alpha                     characters
  1043. 9  digits 0 - 9 only                     U  mask out UP/DN cursor 
  1044. F  digits 0 - 9, -, . only                    and PGUP/PGDN keys
  1045. e  digits 0 - 9, -, ., e, E only              PGUP/PGDN keys
  1046. #  digits 0 - 9 and -                    E mask out ESC key
  1047. h  digits 0 - 9, a,b,c,d,e.f,A,B,C,D,E,F,- only
  1048. o  digits 0 - 7,- only
  1049. T  t, T, f, F only
  1050. Y  y, Y, n, N only
  1051. <CENTER>
  1052. <PRINT><LINE><1><64><196>
  1053. <READ><LINE><1><74><205>
  1054. get_long()
  1055. <PRINT><LINE><1><64><196>
  1056. <READ><LINE><1><74><205>
  1057. <LEFT>
  1058.     Get_long is the same as get_int() only it takes a pointer to 
  1059. long. It,s valid digit length is 1 to 10.
  1060.                 
  1061. Example:
  1062.    long int Lnumber;             
  1063.          
  1064.    get_long(&Lnumber,8,3,2);
  1065.  
  1066.    This call acts the same as get_int except it takes a long.
  1067. <CENTER>
  1068. <PRINT><LINE><1><64><196>
  1069. <PRINT><PAGE><NEW>
  1070. <READ><LINE><1><74><205>
  1071. Print Functions
  1072. <READ><LINE><1><15><223>
  1073. <PRINT><LINE><1><15><205>
  1074. <PRINT><LINE><1><64><196>
  1075. <READ><LINE><1><74><205>
  1076. print_printf()
  1077. <PRINT><LINE><1><64><196>
  1078. <READ><LINE><1><74><205>
  1079. <LEFT>
  1080.    Print_printf() is just like printf() but it goes to a print 
  1081. buffer and has the first to parameters, X and Y coordinates, for 
  1082. placement on the print page The print page is a 60 line by 80 
  1083. character buffer that is printed by print_buff(). 
  1084.         
  1085. Example:
  1086.    int variable = 26;
  1087.     
  1088.    print_printf(20,25,"Number is % d",variable);
  1089.  
  1090.    This call will load Number is 26 into the print buffer at 
  1091.    coordinates 20, 25.
  1092. <CENTER>
  1093. <PRINT><LINE><1><64><196>
  1094. <READ><LINE><1><74><205>
  1095. print_putch()
  1096. <PRINT><LINE><1><64><196>
  1097. <READ><LINE><1><74><205>
  1098. <LEFT>
  1099.    Print_putch(), like print_printf, is the same as putch(). The 
  1100. first two parameters, which are X and Y coordinates, are for 
  1101. placement. It is used for single character placement such as line 
  1102. feeds or carriage returns in the print page and can also be used 
  1103. for fancier graphic designs. 
  1104.  
  1105. Example:
  1106.     print_putch(80,30,0x0d);
  1107.  
  1108.     This call will put character 0x0d at coordinates 80,30 in the 
  1109.     print buffer.
  1110. <CENTER>
  1111. <PRINT><LINE><1><64><196>
  1112. <READ><LINE><1><74><205>
  1113. print_horizontal_line()
  1114. <PRINT><LINE><1><64><196>
  1115. <READ><LINE><1><74><205>
  1116. <LEFT>
  1117.    Print_horizontal_line has six parameters. The first three are 
  1118. the start, middle, and end characters of the line. These are any 
  1119. ASCII character 0 to 255. The last three parameters are the start 
  1120. X, end X, and y coordinates. X can be 1 to 80 but the start must 
  1121. be greater than or equal to the end. Y can be 1 to 60. It like all 
  1122. the print functions is loaded into the page buffer.
  1123.      
  1124. Example
  1125.    print_horizontal_line(0xc7,0xc4,0xb6,1,80,20);
  1126.  
  1127.    This call puts a line 80 characters long in row 20 of the print 
  1128.    buffer.
  1129. <CENTER>
  1130. <PRINT><LINE><1><64><196>
  1131. <PRINT><PAGE><NEW>
  1132. <PRINT><LINE><1><64><196>
  1133. <READ><LINE><1><74><205>
  1134. print_vertical_line()
  1135. <PRINT><LINE><1><64><196>
  1136. <READ><LINE><1><74><205>
  1137. <LEFT>
  1138.    Print_vertical_line has six parameters. The first three are 
  1139. start, middle and end characters of the line. These are any ASCII 
  1140. characters 0 to 255. The last three parameters are X, start Y, end 
  1141. Y. X can be 1 to 80, y is 1 to 60. This is loaded into the page 
  1142. buffer for printing later.
  1143.     
  1144. Example:
  1145.   print_vertical_line(0xd2,0xba,0xd0,40,1,60);
  1146.  
  1147.   This call puts a vertical line in column 40, 60 characters long 
  1148.   in the print buffer.
  1149. <CENTER>
  1150. <PRINT><LINE><1><64><196>
  1151. <READ><LINE><1><74><205>
  1152. print_window()
  1153. <PRINT><LINE><1><64><196>
  1154. <READ><LINE><1><74><205>
  1155. <LEFT>
  1156.     Print_window() draws a window in the page buffer. It has the 
  1157. four window parameters left, top, right, bottom. It also has the 
  1158. boarder style and boarder character for ANY_BOARDER. The boarder 
  1159. styles are the same as simp_window() and the characters are any 
  1160. ASCII code 0 to 255. Windows can be as large as the whole page or 
  1161. 80 x 60.
  1162.     
  1163. Example:
  1164.    print_window(1,1,80,60,2,0);
  1165.  
  1166.    This call puts a window 80x60 with a double boarder in the 
  1167.    print buffer.
  1168. <CENTER>
  1169. <PRINT><LINE><1><64><196>
  1170. <READ><LINE><1><74><205>
  1171. clear_print_buff()
  1172. <PRINT><LINE><1><64><196>
  1173. <READ><LINE><1><74><205>
  1174. <LEFT>
  1175.    Clear_print_buff clears the page buffer and loads it with the 
  1176. ASCII code 0x20. It is used when a new form is to be made.
  1177.     
  1178. Example:
  1179.    clear_print_buff();
  1180.  
  1181.    This call clears the print buffer.
  1182. <CENTER>
  1183. <PRINT><LINE><1><64><196>
  1184. <READ><LINE><1><74><205>
  1185. print_buff()
  1186. <PRINT><LINE><1><64><196>
  1187. <READ><LINE><1><74><205>
  1188. <LEFT>
  1189.   Print_buff sends the contents of the page buffer to the printer. 
  1190. All 60 lines will be printed unless you insert a NULL (0x00) 
  1191. character in the page buffer. If a NULL character is encountered 
  1192. or all 60 lines are printed the printing will stop and the 
  1193. function will return. 
  1194.  
  1195. Example:
  1196.    print_buff();
  1197.         
  1198.    This sends what is current in the print buff to the printer.
  1199. <CENTER>
  1200. <PRINT><LINE><1><64><196>
  1201. <PRINT><PAGE><NEW>
  1202. <READ><LINE><1><74><205>
  1203. <PRINT><LINE><1><64><196>
  1204. load_form()
  1205. <PRINT><LINE><1><64><196>
  1206. <READ><LINE><1><74><205>
  1207. <LEFT>
  1208.    Load_form() is for loading a premade print form made with 
  1209. makefile into the page buffer. It then can be further edited and 
  1210. printed. The record number and path/filename are the parameters.
  1211.     
  1212. Example:
  1213.   load_form(0,"simptut.prn");
  1214.  
  1215.   This call will load print form 0 from simptut.prn (make with 
  1216.   makefile) to the print buffer.
  1217. <CENTER>
  1218. <PRINT><LINE><1><64><196>
  1219. <READ><LINE><1><74><205>
  1220. print_char()
  1221. <PRINT><LINE><1><64><196>
  1222. <READ><LINE><1><74><205>
  1223. <LEFT>
  1224.    Print_char() sends a character to the printer and prints it. It 
  1225. takes a ASCII character code 0 thru 255.
  1226.  
  1227. Example:
  1228.    print_char(0x0c);   
  1229.       
  1230.    This will send a form feed to the printer.
  1231. <CENTER>
  1232. <PRINT><LINE><1><64><196>
  1233. <PRINT><PAGE><NEW>
  1234. <READ><LINE><1><74><205>
  1235. Screen Functions
  1236. <READ><LINE><1><16><223>
  1237. <PRINT><LINE><1><16><205>
  1238. <PRINT><LINE><1><64><196>
  1239. <READ><LINE><1><74><205>
  1240. draw_horizontal_line()
  1241. <PRINT><LINE><1><64><196>
  1242. <READ><LINE><1><74><205>
  1243. <LEFT>
  1244.    Draw_horizontal_line() will put a horizontal line stating at 
  1245. start_x, y and end on end_x, y. The three character parameters 
  1246. are: start, middle, end. These can be any ASCII code character.
  1247.      
  1248. Example:
  1249.     draw_horizontal_line(0x101,0x102,0x103,3,50,10);
  1250.      
  1251.     This will draw a line (ABBBBBB...BBBBBBBC) at 3,10 to 50,10.
  1252. <CENTER>
  1253. <PRINT><LINE><1><64><196>
  1254. <READ><LINE><1><74><205>
  1255. draw_vertical_line()
  1256. <PRINT><LINE><1><64><196>
  1257. <READ><LINE><1><74><205>
  1258. <LEFT>
  1259.    Draw_vertical_line() is the same as horizontal line except it 
  1260. takes x, start_y,end_y.
  1261.            
  1262.    Example:
  1263.      draw_vertical_line(0x101,0x102,0x103,20,3,20); 
  1264.  
  1265.      This will draw line  A  at 20,3 to 20,20.
  1266.                           B
  1267.                           B
  1268.                          ...
  1269.                           B
  1270.                           B
  1271.                           C
  1272. <CENTER>
  1273. <PRINT><LINE><1><64><196>
  1274. <READ><LINE><1><74><205>
  1275. show_cursor()
  1276. <PRINT><LINE><1><64><196>
  1277. <READ><LINE><1><74><205>
  1278. <LEFT>
  1279.    Show_cursor() will display the IBM cursor.
  1280.    
  1281.    Example:
  1282.    show_cursor();
  1283.    
  1284.    This will display the blinking IBM cursor.
  1285. <CENTER>
  1286. <PRINT><LINE><1><64><196>
  1287. <READ><LINE><1><74><205>
  1288. hide_cursor()
  1289. <PRINT><LINE><1><64><196>
  1290. <READ><LINE><1><74><205>
  1291. <LEFT>
  1292.    Hide_cursor() turns the IBM cursor off.
  1293.    
  1294.    Example:
  1295.      hide_cursor();
  1296.     
  1297.      This will hide or turn of the IBM cursor display.
  1298. <CENTER>
  1299. <PRINT><LINE><1><64><196>
  1300. <PRINT><PAGE><NEW>
  1301. <PRINT><LINE><1><64><196>
  1302. <READ><LINE><1><74><205>
  1303. move_cursor()
  1304. <PRINT><LINE><1><64><196>
  1305. <READ><LINE><1><74><205>
  1306. <LEFT>
  1307.    Move_cursor() will move the cursor in the current window. If 
  1308. the cursor is moved beyond the current window the function will 
  1309. fail and no move will be made.
  1310.    
  1311. Example:
  1312.   move_cursor(3,10);
  1313.    
  1314.   This will position the cursor at window coordinates 3,10 in the 
  1315.   current window.
  1316. <CENTER>
  1317. <PRINT><LINE><1><64><196>
  1318. <READ><LINE><1><74><205>
  1319. load_screen_form()
  1320. <PRINT><LINE><1><64><196>
  1321. <READ><LINE><1><74><205>
  1322. <LEFT>
  1323.   Load_screen_form loads a ready made form (mode with makefile) 
  1324. to the current window. The form will truncate beyond the inner 
  1325. window parameters. A record number and a file name are called for.
  1326.    
  1327. Example:
  1328.    load_screen_form(0,"simptut.scr");
  1329.    
  1330.    This will load the simptut title screen into the current window
  1331. <CENTER>
  1332. <PRINT><LINE><1><64><196>
  1333. <READ><LINE><1><74><205>
  1334. read_text()
  1335. <PRINT><LINE><1><64><196>
  1336. <READ><LINE><1><74><205>
  1337. <LEFT>
  1338.    Read_text() will display a text file in the current window 
  1339. truncating or wrapping around with page up/dn. It will exit with 
  1340. ESC.
  1341.   
  1342. Example:
  1343.    read_text("mou.doc",1);
  1344.     
  1345.    This will display the text of mou.doc page by page int the 
  1346.    current window with wraparound.
  1347. <CENTER>
  1348. <PRINT><LINE><1><64><196>
  1349. <READ><LINE><1><74><205>
  1350. save_screen()
  1351. <PRINT><LINE><1><64><196>
  1352. <READ><LINE><1><74><205>
  1353. <LEFT>
  1354.    Save_screen() will save the current screen to screen save file 
  1355. at the designated record number.
  1356.   
  1357. Example:
  1358.    save_screen(2);
  1359.    
  1360.    This saves the current screen to record number 2 in screen.dat.
  1361. <CENTER>
  1362. <PRINT><LINE><1><64><196>
  1363. <PRINT><PAGE><NEW>
  1364. <PRINT><LINE><1><64><196>
  1365. <READ><LINE><1><74><205>
  1366. load_screen()
  1367. <PRINT><LINE><1><64><196>
  1368. <READ><LINE><1><74><205>
  1369. <LEFT>
  1370.    Load_screen() is the other half of screen save and works the 
  1371. same.
  1372.    
  1373. Example:   
  1374.    
  1375.    load_screen(2);
  1376.    
  1377.    This will load the screen record 2 from screen.dat and display 
  1378.    it.
  1379. <CENTER>
  1380. <PRINT><LINE><1><64><196>
  1381. <READ><LINE><1><74><205>
  1382. save_screen_buff()
  1383. <PRINT><LINE><1><64><196>
  1384. <READ><LINE><1><74><205>
  1385. <LEFT>
  1386.    Save_screen_buff() saves the current screen to a ram buffer. 
  1387. It is for use with a mouse or when a fast screen display is 
  1388. needed.
  1389.    
  1390. Example:
  1391.    save_screen_buff();
  1392.   
  1393.    This will save the current screen to ram.
  1394. <CENTER>
  1395. <PRINT><LINE><1><64><196>
  1396. <READ><LINE><1><74><205>
  1397. load_screen_buff()
  1398. <PRINT><LINE><1><64><196>
  1399. <READ><LINE><1><74><205>
  1400. <LEFT>
  1401.    Load_screen_buff() will display the save screen buffer.
  1402.   
  1403. Example:  
  1404.    load_screen_buff();
  1405.    
  1406.    This will display the screen in save screen buffer.
  1407. <CENTER>
  1408. <PRINT><LINE><1><64><196>
  1409. <READ><LINE><1><74><205>
  1410. <PRINT><PAGE><NEW>
  1411. Music Functions
  1412. <READ><LINE><1><15><223>
  1413. <PRINT><LINE><1><15><205>
  1414. <PRINT><LINE><1><64><196>
  1415. <READ><LINE><1><74><205>
  1416. set_tempo()
  1417. <PRINT><LINE><1><64><196>
  1418. <READ><LINE><1><74><205>
  1419. <LEFT>
  1420.   Set_tempo() sets the speed or tempo of each note. The settings 
  1421. are in milli seconds.
  1422.    
  1423. Example:
  1424.    set_tempo(1000);
  1425.    
  1426.    This sets the duration of a quarter note at 1 second.
  1427. <CENTER>
  1428. <PRINT><LINE><1><64><196>
  1429. <READ><LINE><1><74><205>
  1430. tone()
  1431. <PRINT><LINE><1><64><196>
  1432. <READ><LINE><1><74><205>
  1433. <LEFT>
  1434.    Tone sounds a single note. It takes the octave (0 thru 7 
  1435. Zero being no sound), the note (A thru Ab), and the size of 
  1436. the note (64,32,16,8,4,2,1). The fourth argument is a dummy
  1437. for future use.
  1438.    
  1439. Example:
  1440.    tone(3,Cs,4,0); (alternate tone(3,5,4,0);)
  1441.    
  1442.    This sounds the second octave above A55 with a C# quarter note.
  1443. <CENTER>
  1444. <PRINT><LINE><1><64><196>
  1445. <READ><LINE><1><74><205>
  1446. cord()
  1447. <PRINT><LINE><1><64><196>
  1448. <READ><LINE><1><74><205>
  1449. <LEFT>
  1450.    Cord() sounds a 4 or 6 note arpeggio cord. It takes the root 
  1451. note (A thru Ab), the duration of the cord (8,4,2,1), the cord 
  1452. (1 thru 12)(see defines), and the time signature (4/4 or 3/4).
  1453.     
  1454. Example:
  1455.    cord(Cs,1,MINOR,3/4); (alternate cord(5,1,2,1);)
  1456.    
  1457.    This sounds a 6 note C# minor cord for one whole note.
  1458. <CENTER>
  1459. <PRINT><LINE><1><64><196>
  1460. <READ><LINE><1><74><205>
  1461. playsong()
  1462. <PRINT><LINE><1><64><196>
  1463. <READ><LINE><1><74><205>
  1464. <LEFT>
  1465.   Playsong() will play a song file (made with makefile) returning 
  1466. 0 if no key is struck before the end of the file or a 1 if a key 
  1467. is entered.
  1468.    
  1469. Example:
  1470.    while(playsong("simptut.sng") == 0){}
  1471.    
  1472.    This will play simptut.sng tell a key is struck.
  1473. <CENTER>
  1474. <PRINT><LINE><1><64><196>
  1475. <PRINT><PAGE><NEW>
  1476. <READ><LINE><1><74><205>
  1477. Disk Functions
  1478. <READ><LINE><1><14><223>
  1479. <PRINT><LINE><1><14><205>
  1480. <PRINT><LINE><1><64><196>
  1481. <READ><LINE><1><74><205>
  1482. read_file()
  1483. <PRINT><LINE><1><64><196>
  1484. <READ><LINE><1><74><205>
  1485. <LEFT>
  1486.    Read_file() reads a block of bytes from a file. Parameters are: 
  1487. buff for the bytes read, file path and name, block size in bytes 
  1488. (int), byte to start read (long int). 
  1489.  
  1490. Example:
  1491.    read(buff,"simptut.win",2000,4056L);
  1492.    
  1493.    This will read the first 2000 bytes of file simptut.win stating 
  1494.    at byte 4056 into buff.
  1495. <CENTER>
  1496. <PRINT><LINE><1><64><196>
  1497. <READ><LINE><1><74><205>
  1498. write_file()
  1499. <PRINT><LINE><1><64><196>
  1500. <READ><LINE><1><74><205>
  1501. <LEFT>
  1502.    Write file is the same as read file only it writes buff into 
  1503. the file.
  1504.    
  1505. Example:
  1506.    write_file(buff,"simptut.win",2000,4056L);
  1507.    
  1508.    This will write the contents of buff into the first 2000 bytes 
  1509.    of the file simptut.win starting at byte 4056.
  1510. <CENTER>
  1511. <PRINT><LINE><1><64><196>
  1512. <READ><LINE><1><74><205>
  1513. file_to_file()
  1514. <PRINT><LINE><1><64><196>
  1515. <READ><LINE><1><74><205>
  1516. <LEFT>
  1517.    File_to_file copies a block of bytes from one file to another. 
  1518. It takes a buffer the size of the block, a source file, its start 
  1519. byte, a destination file, its start byte, and the size of the 
  1520. block. 
  1521.  
  1522. Example:
  1523.    char buff[2000];
  1524.    
  1525.    file_to_file(buff,"simptut.win",4056L,"win.dat",0L,2000);
  1526.    
  1527.    This will copy the first 2000 bytes of simptut.win starting at 
  1528.    byte 4056 to win.dat starting at 0 bytes.
  1529. <CENTER>
  1530. <PRINT><LINE><1><64><196>
  1531. <READ><LINE><1><74><205>
  1532. copy_file()
  1533. <PRINT><LINE><1><64><196>
  1534. <READ><LINE><1><74><205>
  1535. <LEFT>
  1536.    Copy file() copies one file to another. It takes the 
  1537. destination file and source file. If there is no destination file 
  1538. it will attempt to create one.
  1539.      
  1540. Example:
  1541.    copy_file("simptut.win","win.dat");
  1542.    
  1543.    This will copy simptut.win to win.dat.
  1544. <CENTER>
  1545. <PRINT><LINE><1><64><196>
  1546. <PRINT><PAGE><NEW>
  1547. <PRINT><LINE><1><64><196>
  1548. <READ><LINE><1><74><205>
  1549. creat_file()
  1550. <PRINT><LINE><1><64><196>
  1551. <READ><LINE><1><74><205>
  1552. <LEFT>
  1553.    Creat_file() will creat a file if one dose not exist. It takes 
  1554. the file name and path.
  1555.     
  1556. Example:
  1557.    creat_file("win.dat");
  1558.    
  1559.    This will creat a file called win.dat if one dose not exist.
  1560. <CENTER>
  1561. <PRINT><LINE><1><64><196>
  1562. <READ><LINE><1><74><205>
  1563. read_directory()
  1564. <PRINT><LINE><1><64><196>
  1565. <READ><LINE><1><74><205>
  1566. <LEFT>
  1567.    Read_directory() reads the files in a directory an loads buff 
  1568. with their names. It takes the buffer, the number of names, and 
  1569. the full path/file name (*.text).
  1570.    
  1571. Example:
  1572.    char buff[20][13];
  1573.    
  1574.    read_directory(buff,20,"*.text");
  1575.    
  1576.    This will read the current directory and load buff with the 
  1577.    first 20 text files found. This can then be displayed for 
  1578.    selection.
  1579. <CENTER>
  1580. <PRINT><LINE><1><64><196>
  1581. <PRINT><PAGE><NEW>
  1582. <READ><LINE><1><74><205>
  1583. Initialize Functions
  1584. <READ><LINE><1><20><223>
  1585. <PRINT><LINE><1><20><205>
  1586. <PRINT><LINE><1><64><196>
  1587. <READ><LINE><1><74><205>
  1588. init_window()
  1589. <PRINT><LINE><1><64><196>
  1590. <READ><LINE><1><74><205>
  1591. <LEFT>
  1592.    Init_window() initiates the temp files and mallocs the 
  1593. buffering. It's parameters are the number of windows, menus, and 
  1594. screen saves, the drive to use (a ram disk can be used), and 
  1595. selects the LP port to use.
  1596.    
  1597. Example:
  1598.    init_window(20,20,5,"D",1);
  1599.    
  1600.    This will init the utility to use 20 windows, 20 menus, 5 
  1601.    screen saves, drive D, and LP port 1.
  1602. <CENTER>
  1603. <PRINT><LINE><1><64><196>
  1604. <READ><LINE><1><74><205>
  1605. uninit_window()
  1606. <PRINT><LINE><1><64><196>
  1607. <READ><LINE><1><74><205>
  1608. <LEFT>
  1609.    Uninit_window() will delete the temp files and free any 
  1610. malloced buffers.
  1611.    
  1612. Example:
  1613.    uninit_window();   
  1614.  
  1615.    This call frees malloc memory and removes the temp files.
  1616. <PRINT><LINE><1><64><196>
  1617. <CENTER>
  1618. <PRINT><PAGE><NEW>
  1619. <READ><LINE><1><74><205>
  1620. Mouse Functions
  1621. <PRINT><LINE><1><15><205>
  1622. <READ><LINE><1><15><223>
  1623. <PRINT><LINE><1><64><196>
  1624. <READ><LINE><1><74><205>
  1625. mouinstalled()
  1626. <PRINT><LINE><1><64><196>
  1627. <READ><LINE><1><74><205>
  1628. <LEFT>
  1629.   Mouinstalled() returns the number of buttons if the mouse driver 
  1630. is present or 0 if no driver found. 
  1631.    
  1632.   Example:
  1633.    
  1634.         mouinstalled();
  1635.    
  1636.   This will check for mouse driver and return a the number of 
  1637.   buttons if found.
  1638. <CENTER>
  1639. <PRINT><LINE><1><64><196>
  1640. <READ><LINE><1><74><205>
  1641. moureset()
  1642. <PRINT><LINE><1><64><196>
  1643. <READ><LINE><1><74><205>
  1644. <LEFT>
  1645.    Moureset() resets the mouse driver and should be used when 
  1646. mouinstalled finds a driver and when exiting the program.
  1647.    
  1648.    Example:
  1649.     
  1650.         moureset();
  1651.    
  1652.    This will reset the mouse driver.
  1653. <CENTER>
  1654. <PRINT><LINE><1><64><196>
  1655. <READ><LINE><1><74><205>
  1656. moubuttonpressed()
  1657. <PRINT><LINE><1><64><196>
  1658. <READ><LINE><1><74><205>
  1659. <LEFT>
  1660.   Moubuttonpressed() takes the number of the button that you want 
  1661. to check (0 LEFTBUTTON, 1 RIGHTBUTTON, 2 MIDBUTTON) and returns 
  1662. the number of times the button was pressed since last checked.   
  1663.  
  1664.   Example:
  1665.    
  1666.         if(moubuttonpressed(0))
  1667.         {   
  1668.                read_text("mouse.doc",0); 
  1669.         }
  1670.    
  1671.   This will read the mouse docs if the LEFTBUTTON is pressed.
  1672. <CENTER>
  1673. <PRINT><LINE><1><64><196>
  1674. <READ><LINE><1><74><205>
  1675. mouhide()
  1676. <PRINT><LINE><1><64><196>
  1677. <READ><LINE><1><74><205>
  1678. <LEFT>
  1679.   Mouhide() hides the mouse cursor for text.
  1680.     
  1681.   Example:
  1682.   
  1683.        mouhide();
  1684.    
  1685.   The standard mouse cursor will be hidden.
  1686. <CENTER>
  1687. <PRINT><LINE><1><64><196>
  1688. <PRINT><PAGE><NEW>
  1689. <PRINT><LINE><1><64><196>
  1690. <READ><LINE><1><74><205>
  1691. moushow()
  1692. <PRINT><LINE><1><64><196>
  1693. <READ><LINE><1><74><205>
  1694. <LEFT>
  1695.    Moushow() shows the mouse cursor and needs to be 
  1696. called after every a mouhide().
  1697.    
  1698.    Example:
  1699.    
  1700.         moushow();
  1701.     
  1702.    This will show the standard mouse cursor.
  1703. <CENTER>
  1704. <PRINT><LINE><1><64><196>
  1705. <READ><LINE><1><74><205>
  1706. mouposition()
  1707. <PRINT><LINE><1><64><196>
  1708. <READ><LINE><1><74><205>
  1709. <LEFT>
  1710.    Mouposition() returns the mouse position in the parameters *x, 
  1711. *y.
  1712.    
  1713.    Example:
  1714.    
  1715.    int x,y;
  1716.    
  1717.           mouposition(&x,&y);
  1718.     
  1719.    This will put the current mouse position in the ints x and y.
  1720. <CENTER>
  1721. <PRINT><LINE><1><64><196>
  1722. <READ><LINE><1><74><205>
  1723. moucursortype()
  1724. <PRINT><LINE><1><64><196>
  1725. <READ><LINE><1><74><205>
  1726. <LEFT>
  1727.    Moucursortype() selects the mouse cursor. 0 will select a
  1728. reverse video block, any other is a character code 0 - 255.
  1729. adding (0x80 << 8) to the character code will get the cursor to
  1730. blink and (0x33 << 8) will reverse the video.
  1731.  
  1732. Example:
  1733.    moucursortype(0x01 + (0x80 << 8));
  1734.  
  1735.    This will show a blinking happy face.
  1736. <CENTER>
  1737. <PRINT><LINE><1><64><196>
  1738. <READ><LINE><1><74><205>
  1739. mousetposition()
  1740. <PRINT><LINE><1><64><196>
  1741. <READ><LINE><1><74><205>
  1742. <LEFT>
  1743.    Mousetposition() puts the mouse cursor and mouse at the x, y 
  1744. coordinates int the parameters.
  1745.    
  1746.    Example:
  1747.     
  1748.         mousetposition(5,5);
  1749.    
  1750.    This will place the mouse at coordinates 5,5 on the screen.
  1751. <CENTER>
  1752. <PRINT><LINE><1><64><196>
  1753. <PRINT><PAGE><NEW>
  1754. <PRINT><LINE><1><64><196>
  1755. <READ><LINE><1><74><205>
  1756. mousetmaxposition()
  1757. <PRINT><LINE><1><64><196>
  1758. <READ><LINE><1><74><205>
  1759. <LEFT>
  1760.    Mousetmaxposition() sets the mouse coordinates limits. It takes 
  1761. four parameters menx, maxx, meny, maxy.
  1762.   
  1763.    Example:
  1764.     
  1765.         mousetmaxposition(5,20,5,20);
  1766.    
  1767.    This will confine mouse movement to a window(5,5,20,20).
  1768. <CENTER>
  1769. <PRINT><LINE><1><64><196>
  1770. <READ><LINE><1><74><205>
  1771. moubuttonrelease()
  1772. <PRINT><LINE><1><64><196>
  1773. <READ><LINE><1><74><205>
  1774. <LEFT>
  1775.    Moubuttonrelease() takes the number of the button to check (0 
  1776. LEFTBUTTON, 1 RIGHTBUTTON, 2 MIDBUTTON) and returns the number of 
  1777. times that button was released since last checked.   
  1778.  
  1779.    Example:
  1780.    
  1781.    for(;;)
  1782.    {
  1783.          if(moubuttonrelease(2))
  1784.          {
  1785.                 break;
  1786.          }
  1787.    }
  1788.     
  1789.    This will remain in the loop until the MIDBUTTON is pressed 
  1790.    and released.
  1791. <CENTER>
  1792. <PRINT><LINE><1><64><196>
  1793. <READ><LINE><1><74><205>
  1794. loadcurs()
  1795. <PRINT><LINE><1><64><196>
  1796. <READ><LINE><1><74><205>
  1797. <LEFT>
  1798.    Loadcurs() loads the graphic cursor. It takes the file name and 
  1799. an int 0 to 31.
  1800.    
  1801.    Example:
  1802.   
  1803.         loadcurs("cursor.fnt",3);
  1804.     
  1805.    This will load the forth character in the file cursor.fnt for 
  1806.    use with mou_on and mou_off.
  1807.  
  1808. <CENTER>
  1809. <PRINT><LINE><1><64><196>
  1810. <PRINT><PAGE><NEW>
  1811. <PRINT><OFF>
  1812. FONT EDIT 1.5
  1813. <READ><LINE><1><13><223>
  1814. <READ><LINE><1><74><205>
  1815. <PRINT><HEADER><Font Edit 1.5>
  1816. Management Functions
  1817. <PRINT><LINE><1><20><205>
  1818. <READ><LINE><1><20><223>
  1819. <PRINT><LINE><1><64><196>
  1820. <READ><LINE><1><74><205>
  1821. load_font()
  1822. <PRINT><LINE><1><64><196>
  1823. <READ><LINE><1><74><205>
  1824. <LEFT>
  1825.   Load_font() loads a edited font in one of two banks for display
  1826. on the screen. It takes the filename and which bank.
  1827.  
  1828. Example:
  1829.  
  1830.   load_font("ibmstd.fnt",1);
  1831.  
  1832.   This loads the ibmstd font into the upper bank used in dual 
  1833.   mode.
  1834. <CENTER>
  1835. <PRINT><LINE><1><64><196>
  1836. <READ><LINE><1><74><205>
  1837. enable_double_font()()
  1838. <PRINT><LINE><1><64><196>
  1839. <READ><LINE><1><74><205>
  1840. <LEFT>
  1841.   Enable_double_font() is used to turn the dual font mode on and
  1842. off.
  1843.  
  1844. Example:
  1845.  
  1846.   enable_double_font(ON);
  1847.  
  1848.   This turns the dual font mode on and the intensity bit (bit 3) 
  1849.   of the video attribute byte choices the font bank.
  1850. <CENTER>
  1851. <PRINT><LINE><1><64><196>
  1852. <READ><LINE><1><74><205>
  1853. write_win_bank()
  1854. <PRINT><LINE><1><64><196>
  1855. <READ><LINE><1><74><205>
  1856. <LEFT>
  1857.   Write_win_bank() is the same as printf in formating but has the
  1858. X and Y coordinates and bank select parameters added. Parameters
  1859. are (bank,x,y,format,string_variable).
  1860.  
  1861. Example:
  1862.  
  1863.   write_win_bank(1,20,5,"Simple Windows");
  1864.  
  1865.   This writes the string "Simple Windows" on the screen at
  1866.   coordinates 20 X, 5 Y in the current window with the high
  1867.   bank font in dual font mode.
  1868. <CENTER>
  1869. <PRINT><LINE><1><64><196>
  1870. <PRINT><PAGE><NEW>
  1871. <READ><LINE><1><74><205>
  1872. <PRINT><LINE><1><64><196>
  1873. write_win_multi()
  1874. <PRINT><LINE><1><64><196>
  1875. <READ><LINE><1><74><205>
  1876. <LEFT>
  1877.   Write_win_multi() again is formated the same as printf() as
  1878. all write_win functions in this library. It has a font select
  1879. and X,Y coordinate parameters. Dual font mode must be on and
  1880. both banks must be loaded with multi font fonts. These are made
  1881. with makefont (see makefont.exe).
  1882.  
  1883. Example:
  1884.  
  1885.   write_win_multi(3,20,5,"Simple Windows");
  1886.  
  1887.   This writes the string "Simple Windows" on the screen at
  1888.   coordinates 20 X, 5 Y in the current window with font
  1889.   number 3 of 4 multi fonts.
  1890. <CENTER>
  1891. <PRINT><LINE><1><64><196>
  1892. <READ><LINE><1><74><205>
  1893. load_emulate()
  1894. <PRINT><LINE><1><64><196>
  1895. <READ><LINE><1><74><205>
  1896. <LEFT>
  1897.   This will load the emulator characters for the large fonts
  1898. into the selected bank.
  1899.  
  1900. Example:
  1901.  
  1902.   load_emulate(0);
  1903.  
  1904.   This loads the emulate characters into bank 0 (lower) at
  1905.   character position 0xc0 to 0xcf.
  1906. <CENTER>
  1907. <PRINT><LINE><1><64><196>
  1908. <READ><LINE><1><74><205>
  1909. write_win_multi_large()
  1910. <PRINT><LINE><1><64><196>
  1911. <READ><LINE><1><74><205>
  1912. <LEFT>
  1913.   The same as write_win_large but the multi font version.
  1914. The font is selected and placed at the specified coordinates.
  1915.  
  1916. Example:
  1917.  
  1918.   write_win_multi_large(3,5,5,"Simply Soft");
  1919.  
  1920.   This displays font 3 large with the string "Simply Soft".
  1921. <CENTER>
  1922. <PRINT><LINE><1><64><196>
  1923. <READ><LINE><1><74><205>
  1924. set_palette()
  1925. <PRINT><LINE><1><64><196>
  1926. <READ><LINE><1><74><205>
  1927. <LEFT>
  1928.   This is used to correct the text graphic palette color for
  1929. dual font use. It places the selected DAC register color into
  1930. the selected palette register. There or 16 (0 to 15) palettes
  1931. and 64 (0 to 63) DAC colors.
  1932.  
  1933. Example:
  1934.  
  1935.   set_palette(2,63);
  1936.  
  1937.   This places color 63 (white) into palette 2 (green).
  1938. <CENTER>
  1939. <PRINT><LINE><1><64><196>
  1940. <PRINT><PAGE><NEW>
  1941. <PRINT><LINE><1><64><196>
  1942. <READ><LINE><1><74><205>
  1943. toggle_blink()
  1944. <PRINT><LINE><1><64><196>
  1945. <READ><LINE><1><74><205>
  1946. <LEFT>
  1947.   This will turn on or off the blink bit at the current cursor
  1948. location.
  1949.  
  1950. Example:
  1951.  
  1952.   toggle_blink(ON);
  1953.  
  1954.   This blinks the character at the current cursor location.
  1955. <CENTER>
  1956. <PRINT><LINE><1><64><196>
  1957. <READ><LINE><1><74><205>
  1958. toggle_intensity()
  1959. <PRINT><LINE><1><64><196>
  1960. <READ><LINE><1><74><205>
  1961. <LEFT>
  1962.   This set the intensity bit to high or low at the current
  1963. cursor location.
  1964.  
  1965. Example:
  1966.   
  1967.   toggle_intensity(ON);
  1968.  
  1969.   This will make the character at the current cursor location
  1970.   display with high intensity or use the high bank in dual font
  1971.   mode.
  1972. <CENTER>
  1973. <PRINT><LINE><1><64><196>
  1974. <READ><LINE><1><74><205>
  1975. enable_reset()
  1976. <PRINT><LINE><1><64><196>
  1977. <READ><LINE><1><74><205>
  1978. <LEFT>
  1979.   Enable_reset() will enable or disable the palette reset with a 
  1980. video mode reset. 1 disables the reset and 0 (default) enables it.
  1981.   
  1982. Example:
  1983.   
  1984.    enable_reset(1);
  1985.    
  1986.    This will disable the palette reset with a video mode reset so 
  1987.    the colors in the palette will remain the same with a video 
  1988.    change.
  1989. <CENTER>
  1990. <PRINT><LINE><1><64><196>
  1991. <READ><LINE><1><74><205>
  1992. <PRINT><PAGE><NEW>
  1993. <PRINT><LINE><1><64><196>
  1994. write_win_large()
  1995. <PRINT><LINE><1><64><196>
  1996. <READ><LINE><1><74><205>
  1997. <LEFT>
  1998.   This will display the same as write_win_bank with the large
  1999. font characters. They are 4 characters wide and 8 characters
  2000. tall so leave room. The bank select is the same as write_win
  2001. bank but the X,Y coordinates are for the upper left corner
  2002. of the text display.
  2003.  
  2004. Example:
  2005.  
  2006.   write_win_large(1,5,2,"Simply Soft");
  2007.  
  2008.   This will display the string "Simply Soft" starting with
  2009.   the coordinates 5 X, 2 Y at the upper left corner in the
  2010.   current window emulating with the high bank font set. 
  2011.   Load_emulate() must be called before using this call and the
  2012.   dual font mode must be on.
  2013. <CENTER>
  2014. <PRINT><LINE><1><64><196>
  2015. <READ><LINE><1><74><205>
  2016. init_multi_font()
  2017. <PRINT><LINE><1><64><196>
  2018. <READ><LINE><1><74><205>
  2019. <LEFT>
  2020.   Init_multi_font() will initialize the fonted libs for dual font 
  2021. mode. The two banks are loaded with fonts, the palette is set and 
  2022. the palette select is set. The palette argument takes a 16 byte 
  2023. string of unsigned characters and the two fonts are the path/file 
  2024. name of the fonts to be loaded. The palette select chooses the 
  2025. first 8 characters (0) or the last 8 characters (1) of the palette 
  2026. argument for the managed palette colors, loading both foreground 
  2027. and background colors the same for a managed palette. Also the
  2028. large font emulate is loaded into the high bank.
  2029.   
  2030. Example:
  2031.   
  2032.    unsigned char palette[16] = {0,1,2,3,4,5,20,7,
  2033.                                 55,56,57,58,59,61,62,63};
  2034.  
  2035.    init_multi_font("font1.fnt","font2.fnt",palette,1);
  2036.  
  2037.    This will set up the dual mode font management using font1 and 
  2038.    font2 with the the palette set for bright colors.
  2039. <CENTER>
  2040. <PRINT><LINE><1><64><196>
  2041. <PRINT><PAGE><NEW>
  2042. <PRINT><LINE><1><64><196>
  2043. <READ><LINE><1><74><205>
  2044. uninit_multi_font()
  2045. <PRINT><LINE><1><64><196>
  2046. <READ><LINE><1><74><205>
  2047. <LEFT>
  2048.    Uninit_multi_font() will reset the fonts and palette for 
  2049. standard font mode with the IBM standard font.
  2050.   
  2051. Example:
  2052.   
  2053.   uninit_multi_font();
  2054.  
  2055.   This will reset the palette and font and turn off the dual font 
  2056.   mode.
  2057. <CENTER>
  2058. <PRINT><LINE><1><64><196>
  2059. <READ><LINE><1><74><205>
  2060. load_multi_pal()
  2061. <PRINT><LINE><1><64><196>
  2062. <READ><LINE><1><74><205>
  2063. <LEFT>
  2064.   Load_multi_pal() sets the palette to use ether the background 
  2065. colors (0) or the foreground colors (1) for both background and 
  2066. foreground color.
  2067.  
  2068. Example:
  2069.   
  2070.    load_multi_pal(1);
  2071.  
  2072.    This will load the foreground colors into the background 
  2073.    palette colors.
  2074. <CENTER>
  2075. <PRINT><LINE><1><64><196>
  2076. <PRINT><PAGE><NEW>
  2077. <READ><LINE><1><74><205>
  2078. Execute Functions
  2079. <READ><LINE><1><17><223>
  2080. <PRINT><LINE><1><17><205>
  2081. <PRINT><LINE><1><64><196>
  2082. loadfont.exe
  2083. <PRINT><LINE><1><64><196>
  2084. <READ><LINE><1><74><205>
  2085. <LEFT>
  2086.   Loadfont loads a font file (*.fnt) into the selected bank.
  2087.  
  2088. Example:
  2089.  
  2090.   system("loadfont script.fnt 1");
  2091.  
  2092.   This will load the script font into the high bank.
  2093. <CENTER>
  2094. <PRINT><LINE><1><64><196>
  2095. <READ><LINE><1><74><205>
  2096. dualon.exe
  2097. <PRINT><LINE><1><64><196>
  2098. <READ><LINE><1><74><205>
  2099. <LEFT>
  2100.   Dualon.exe turns the dual font mode on and off.
  2101.  
  2102. Example:
  2103.  
  2104.   system("dualon 1");
  2105.  
  2106.   This turns the dual font mode on.
  2107. <CENTER>
  2108. <PRINT><LINE><1><64><196>
  2109. <READ><LINE><1><74><205>
  2110. setpal.exe
  2111. <PRINT><LINE><1><64><196>
  2112. <READ><LINE><1><74><205>
  2113. <LEFT>
  2114.   Used to correct color in dual font mode.
  2115.  
  2116. Example:
  2117.  
  2118.   system("setpal 2 63");
  2119.  
  2120.   This set palette 2 (green) to 63 (white);
  2121. <CENTER>
  2122. <PRINT><LINE><1><64><196>
  2123. <READ><LINE><1><74><205>
  2124. makefont.exe
  2125. <PRINT><LINE><1><64><196>
  2126. <READ><LINE><1><74><205>
  2127. <LEFT>
  2128.   This is a utility to make multi fonts from standard fonts.
  2129. the first two files are merged into a third for multi fonts.
  2130.  
  2131. Example:
  2132.  
  2133.   makefont ibmstd.fnt script.fnt multi.fnt
  2134.  
  2135.   This merges the ibmstd font with the script font into a font
  2136.   called multi font.
  2137. <CENTER>
  2138. <PRINT><LINE><1><64><196>
  2139. <READ><LINE><1><74><205>
  2140. <PRINT><PAGE><NEW>
  2141. <PRINT><OFF>
  2142. VGA EDIT 1.2
  2143. <READ><LINE><1><12><223>
  2144. <READ><LINE><1><74><205>
  2145. <PRINT><HEADER><VGA Edit 1.2>
  2146. Management Functions
  2147. <READ><LINE><1><20><223>
  2148. <PRINT><LINE><1><20><205>
  2149. <PRINT><LINE><1><64><196>
  2150. <READ><LINE><1><74><205>
  2151. save_color_regs()
  2152. <PRINT><LINE><1><64><196>
  2153. <READ><LINE><1><74><205>
  2154. <LEFT>
  2155.   Save_color_regs() saves the DAC registers to a file. The only 
  2156. parameter is the file name. If the file dose not exist it will be 
  2157. created.
  2158.   
  2159. Example:
  2160.   
  2161.    save_color_regs("TEST.DAC");
  2162.  
  2163.    This will save the current DAC register set to a file called 
  2164.    TEST.DAC.
  2165. <CENTER>
  2166. <PRINT><LINE><1><64><196>
  2167. <READ><LINE><1><74><205>
  2168. load_color_regs()
  2169. <PRINT><LINE><1><64><196>
  2170. <READ><LINE><1><74><205>
  2171. <LEFT>
  2172.   Load_color_regs() will load the DAC registers from a file. It 
  2173. takes only one parameter the file name.
  2174.   
  2175. Example:
  2176.    
  2177.   load_color_regs("TEST.DAC");
  2178.    
  2179.   This will load the DAC register set with the data in file 
  2180.   TEST.DAC.  
  2181. <CENTER>
  2182. <PRINT><LINE><1><64><196>
  2183. <READ><LINE><1><74><205>
  2184. read_color_reg()
  2185. <PRINT><LINE><1><64><196>
  2186. <READ><LINE><1><74><205>
  2187. <LEFT>
  2188.   Read_color_reg() reads a single DAC register. The parameters 
  2189. are a three byte color register and the DAC register number.
  2190.   
  2191. Example
  2192.   
  2193.   char color[3];
  2194.   
  2195.   read_color_reg(color,34);
  2196.   
  2197.   This will read the DAC register number 34's color settings into 
  2198.   the register color. Color[0] is, red color[1] is green, and 
  2199.   color[2] is blue. DAC numbers are from 0 to 255.
  2200. <CENTER>
  2201. <PRINT><LINE><1><64><196>
  2202. <READ><LINE><1><74><205>
  2203. <PRINT><PAGE><NEW>
  2204. <PRINT><LINE><1><64><196>
  2205. write_color_reg()
  2206. <PRINT><LINE><1><64><196>
  2207. <READ><LINE><1><74><205>
  2208. <LEFT>
  2209.   Write_color_reg() will load a single DAC register with new 
  2210. color settings. The parameters are a three byte color register 
  2211. and the DAC register number.
  2212.    
  2213. Example:
  2214.   
  2215.    char color[3];
  2216.    
  2217.    write_color_reg(color,34);
  2218.    
  2219.    This will load the color settings in color to DAC register 34. 
  2220.    Color[0] is red, color[1] is green, and color[2] is blue. 
  2221.    Settings are from 0 to 63. DAC register numbers are from 0 to 
  2222.    255.
  2223. <CENTER>
  2224. <PRINT><LINE><1><64><196>
  2225. <READ><LINE><1><74><205>
  2226. save_palette()
  2227. <PRINT><LINE><1><64><196>
  2228. <READ><LINE><1><74><205>
  2229. <LEFT>
  2230.   Save_palette() saves the current palette settings to a file. 
  2231. The parameter is the file path and name.
  2232.   
  2233. Example:
  2234.   
  2235.   save_palette("TEST.PAL");
  2236.   
  2237.   This will save the current palette to a file called TEST.PAL.
  2238. <CENTER>
  2239. <PRINT><LINE><1><64><196>
  2240. <READ><LINE><1><74><205>
  2241. load_palette()
  2242. <PRINT><LINE><1><64><196>
  2243. <READ><LINE><1><74><205>
  2244. <LEFT>
  2245.   Load_palette() will load a file with palette settings in to the 
  2246. palette. It's parameter is the file path and name.
  2247.    
  2248. Example:
  2249.   
  2250.   load_palette("TEST.PAL");
  2251.   
  2252.   This loads the file TEST.PAL's data into the palette.
  2253. <CENTER>
  2254. <PRINT><LINE><1><64><196>
  2255. <READ><LINE><1><74><205>
  2256. write_palette()
  2257. <PRINT><LINE><1><64><196>
  2258. <READ><LINE><1><74><205>
  2259. <LEFT>
  2260.   Write_palette() loads a DAC register into the selected palette. 
  2261. The parameters are the DAC register number (0 to 63) and palette 
  2262. number (0 to 15).
  2263.    
  2264. Example:
  2265.   
  2266.   write_palette(63,15);
  2267.   
  2268.   This loads DAC number 63 (C_WHITE) into palette 15 (WHITE).
  2269. <CENTER>
  2270. <PRINT><LINE><1><64><196>
  2271. <READ><LINE><1><74><205>
  2272. <PRINT><PAGE><NEW>
  2273. <PRINT><LINE><1><64><196>
  2274. read_palette()
  2275. <PRINT><LINE><1><64><196>
  2276. <READ><LINE><1><74><205>
  2277. <LEFT>
  2278.   Read_palette() will read and return the selected palette color 
  2279. or DAC register number.
  2280.   
  2281. Example:
  2282.    
  2283.   int color; 
  2284.    
  2285.   color = read_palette(5);
  2286.   
  2287.   This will return the DAC register number in palette 5 (MAGENTA) 
  2288. to int color.
  2289. <CENTER>
  2290. <PRINT><LINE><1><64><196>
  2291. <READ><LINE><1><74><205>
  2292. vga_get_adapter()
  2293. <PRINT><LINE><1><64><196>
  2294. <READ><LINE><1><74><205>
  2295. <LEFT>
  2296.   Vga_get_adapter() will return the video adapter code for EGA 
  2297. (3), VGA (9), and all others (0).
  2298.   
  2299. Example:
  2300.   
  2301.   int adapt;
  2302.   
  2303.   adapt = vga_get_adapter();
  2304.   
  2305.   This will return the adapter code into adapt.
  2306. <CENTER>
  2307. <PRINT><LINE><1><64><196>
  2308. <READ><LINE><1><74><205>
  2309. gray_color_reg()
  2310. <PRINT><LINE><1><64><196>
  2311. <READ><LINE><1><74><205>
  2312. <LEFT>
  2313.   Gray_color_reg() will gray scale a selected DAC register (0 to 
  2314. 255).
  2315.   
  2316. Example:
  2317.   
  2318.   gray_color_reg(52);
  2319.   
  2320.   This will gray scale the color settings in DAC register 52.
  2321. <CENTER>
  2322. <PRINT><LINE><1><64><196>
  2323. <READ><LINE><1><74><205>
  2324. gray_color_regs()
  2325. <PRINT><LINE><1><64><196>
  2326. <READ><LINE><1><74><205>
  2327. <LEFT>
  2328.   Gray_color_regs() will gray scale all the DAC registers.
  2329.   
  2330. Example:
  2331.   
  2332.   gray_color_regs();
  2333.   
  2334.   This will gray scale the color settings in all of the DAC 
  2335.   registers. You should use save_color_regs() before this call 
  2336.   for resetting the DAC registers.
  2337. <CENTER>
  2338. <PRINT><LINE><1><64><196>
  2339. <PRINT><PAGE><NEW>
  2340. <PRINT><LINE><1><64><196>
  2341. <READ><LINE><1><74><205>
  2342. enable_reset()
  2343. <PRINT><LINE><1><64><196>
  2344. <READ><LINE><1><74><205>
  2345. <LEFT>
  2346.    Enable_reset() will enable (turn on and off) the default 
  2347. palette reset with a video mode change. 1 is disabled 0 (default) 
  2348. is enable.
  2349.   
  2350. Example:
  2351.   
  2352.    enable_reset(1);
  2353.   
  2354.    This will disable or turn of the palette reset with a video 
  2355.    change. This allows special palette settings to remain with a 
  2356.    video mode change or reset.
  2357. <CENTER>
  2358. <PRINT><LINE><1><64><196>
  2359. <READ><LINE><1><74><205>
  2360. init_vgaedit()
  2361. <PRINT><LINE><1><64><196>
  2362. <READ><LINE><1><74><205>
  2363. <LEFT>
  2364.    Init_vgaedit() this will will save both the current palette 
  2365. and DAC registers to temp files for resetting at the end of the 
  2366. program.
  2367.   
  2368. Example:
  2369.   
  2370.    init_vgaedit();
  2371.  
  2372.    This saves the palette and DAC.
  2373. <CENTER>
  2374. <PRINT><LINE><1><64><196>
  2375. <READ><LINE><1><74><205>
  2376. uninit_vgaedit()
  2377. <PRINT><LINE><1><64><196>
  2378. <READ><LINE><1><74><205>
  2379. <LEFT>
  2380.    Uninit_vgaedit() restores the palette and DAC registers saved 
  2381. by init_vgaedit() and removes the temp files.
  2382.    
  2383. Example:
  2384.    
  2385.    uninit_vgaedit();
  2386.  
  2387.    This restores the palette and DAC.
  2388. <CENTER>
  2389. <PRINT><LINE><1><64><196>
  2390. <PRINT><PAGE><NEW>
  2391. <READ><LINE><1><74><205>
  2392. Execute Functions
  2393. <PRINT><LINE><1><17><205>
  2394. <READ><LINE><1><17><223>
  2395. <PRINT><LINE><1><64><196>
  2396. <READ><LINE><1><74><205>
  2397. savedac.exe
  2398. <PRINT><LINE><1><64><196>
  2399. <READ><LINE><1><74><205>
  2400. <LEFT>
  2401.   Savedac.exe has only one argument, the path and name of the 
  2402. file to save to. If the file dose not exist it will be created.
  2403.   
  2404. Example:
  2405.     
  2406.   system("savedac test.dac");
  2407.   
  2408.   This will use a system call to save the current DAC registers 
  2409.   to a file called TEST.DAC.
  2410. <CENTER>
  2411. <PRINT><LINE><1><64><196>
  2412. <READ><LINE><1><74><205>
  2413. loaddoc.exe
  2414. <PRINT><LINE><1><64><196>
  2415. <READ><LINE><1><74><205>
  2416. <LEFT>
  2417.   Loaddac.exe will load the DAC registers with data from a 
  2418. chosen file.
  2419.   
  2420. Example:
  2421.   
  2422.   system("loaddac test.dac");
  2423.   
  2424.   This will load the DAC registers with the color data in file 
  2425.   test.dac.
  2426. <CENTER>
  2427. <PRINT><LINE><1><64><196>
  2428. <READ><LINE><1><74><205>
  2429. savepal.exe
  2430. <PRINT><LINE><1><64><196>
  2431. <READ><LINE><1><74><205>
  2432. <LEFT>
  2433.   Savepal.exe will save the palette register data to a selected 
  2434. file.
  2435.   
  2436. Example:
  2437.   
  2438.   system("savepal test.pal");
  2439.   
  2440.   This will save the palette data to the file TEST.PAL.
  2441. <CENTER>
  2442. <PRINT><LINE><1><64><196>
  2443. <READ><LINE><1><74><205>
  2444. loadpal.exe
  2445. <PRINT><LINE><1><64><196>
  2446. <READ><LINE><1><74><205>
  2447. <LEFT>
  2448.   Loadpal.exe load the palette registers with data from a 
  2449. selected file.
  2450.   
  2451. Example:
  2452.   
  2453.   system("loadpal test.pal");
  2454.   
  2455.   this uses a system call to load the palette from file test.pal.
  2456. <CENTER>
  2457. <PRINT><LINE><1><64><196>
  2458. <PRINT><PAGE><NEW>
  2459. <PRINT><LINE><1><64><196>
  2460. <READ><LINE><1><74><205>
  2461. resetpal.exe.exe
  2462. <PRINT><LINE><1><64><196>
  2463. <READ><LINE><1><74><205>
  2464. <LEFT>
  2465.   Resetpal.exe will enable or disable the default palette reset 
  2466. with a video mode change. 1 disables reset 0 enables reset.
  2467.   
  2468. Example:
  2469.   
  2470.    system("resetpal 0");
  2471.    
  2472.    This will let the palette reset to default colors on a video 
  2473.    mode change.
  2474. <CENTER>
  2475. <PRINT><LINE><1><64><196>
  2476. <PRINT><PAGE><NEW>
  2477. <PRINT><OFF>
  2478. <READ><LINE><1><74><205>
  2479. SIMPLE MOUSE 2.3
  2480. <READ><LINE><1><16><223>
  2481. <READ><LINE><1><74><205>
  2482. <PRINT><HEADER><Simple Mouse 2.3>
  2483. Mouse Functions
  2484. <PRINT><LINE><1><15><205>
  2485. <READ><LINE><1><15><223>
  2486. <PRINT><LINE><1><64><196>
  2487. <READ><LINE><1><74><205>
  2488. mouinstalled()
  2489. <PRINT><LINE><1><64><196>
  2490. <READ><LINE><1><74><205>
  2491. <LEFT>
  2492.   Mouinstalled() returns the number of buttons if the mouse driver 
  2493. is present or 0 if no driver found. 
  2494.    
  2495.   Example:
  2496.    
  2497.         mouinstalled();
  2498.    
  2499.   This will check for mouse driver and return a the number of 
  2500.   buttons if found.
  2501. <CENTER>
  2502. <PRINT><LINE><1><64><196>
  2503. <READ><LINE><1><74><205>
  2504. moubuttonpressed()
  2505. <PRINT><LINE><1><64><196>
  2506. <READ><LINE><1><74><205>
  2507. <LEFT>
  2508.   Moubuttonpressed() takes the number of the button that you want 
  2509. to check (0 LEFTBUTTON, 1 RIGHTBUTTON, 2 MIDBUTTON) and returns 
  2510. the number of times the button was pressed since last checked.   
  2511.  
  2512.   Example:
  2513.    
  2514.         if(moubuttonpressed(0))
  2515.         {   
  2516.                read_text("mouse.doc",0); 
  2517.         }
  2518.    
  2519.   This will read the mouse docs if the LEFTBUTTON is pressed.
  2520. <CENTER>
  2521. <PRINT><LINE><1><64><196>
  2522. <READ><LINE><1><74><205>
  2523. mouposition()
  2524. <PRINT><LINE><1><64><196>
  2525. <READ><LINE><1><74><205>
  2526. <LEFT>
  2527.    Mouposition() returns the mouse position in the parameters *x, 
  2528. *y.
  2529.    
  2530.    Example:
  2531.    
  2532.    int x,y,changed;
  2533.    
  2534.           changed = mouposition(&x,&y);
  2535.     
  2536.    This will put the current mouse position in the ints x and y
  2537.    setting changed to 1 if coordinates have change since lasted
  2538.    checked.
  2539. <CENTER>
  2540. <PRINT><LINE><1><64><196>
  2541. <READ><LINE><1><74><205>
  2542. <PRINT><PAGE><NEW>
  2543. <PRINT><LINE><1><64><196>
  2544. mouhide()
  2545. <PRINT><LINE><1><64><196>
  2546. <READ><LINE><1><74><205>
  2547. <LEFT>
  2548.   Mouhide() hides the mouse cursor for text.
  2549.     
  2550.   Example:
  2551.   
  2552.        mouhide();
  2553.    
  2554.   The standard mouse cursor will be hidden.
  2555. <CENTER>
  2556. <PRINT><LINE><1><64><196>
  2557. <READ><LINE><1><74><205>
  2558. moushow()
  2559. <PRINT><LINE><1><64><196>
  2560. <READ><LINE><1><74><205>
  2561. <LEFT>
  2562.    Moushow() shows the mouse cursor and needs to be 
  2563. called after every a mouhide().
  2564.    
  2565.    Example:
  2566.    
  2567.         moushow();
  2568.     
  2569.    This will show the standard mouse cursor.
  2570. <CENTER>
  2571. <PRINT><LINE><1><64><196>
  2572. <READ><LINE><1><74><205>
  2573. moucursortype()
  2574. <PRINT><LINE><1><64><196>
  2575. <READ><LINE><1><74><205>
  2576. <LEFT>
  2577.    Moucursortype() selects the mouse cursor (1 to 32).
  2578.  
  2579. Example:
  2580.    moucursortype(2);
  2581.  
  2582.    This will show second cursor character loaded by loadcurs().
  2583. <CENTER>
  2584. <PRINT><LINE><1><64><196>
  2585. <READ><LINE><1><74><205>
  2586. mousetposition()
  2587. <PRINT><LINE><1><64><196>
  2588. <READ><LINE><1><74><205>
  2589. <LEFT>
  2590.    Mousetposition() puts the mouse cursor and mouse at the x, y 
  2591. coordinates int the parameters.
  2592.    
  2593.    Example:
  2594.     
  2595.         mousetposition(5,5);
  2596.    
  2597.    This will place the mouse at coordinates 5,5 on the screen.
  2598. <CENTER>
  2599. <PRINT><LINE><1><64><196>
  2600. <READ><LINE><1><74><205>
  2601. moureset()
  2602. <PRINT><LINE><1><64><196>
  2603. <READ><LINE><1><74><205>
  2604. <LEFT>
  2605.    Moureset() resets the mouse driver and should be used when 
  2606. mouinstalled finds a driver and when exiting the program.
  2607.    
  2608.    Example:
  2609.     
  2610.         moureset();
  2611.    
  2612.    This will reset the mouse driver.
  2613. <CENTER>
  2614. <PRINT><LINE><1><64><196>
  2615. <PRINT><PAGE><NEW>
  2616. <PRINT><LINE><1><64><196>
  2617. <READ><LINE><1><74><205>
  2618. mousetmaxposition()
  2619. <PRINT><LINE><1><64><196>
  2620. <READ><LINE><1><74><205>
  2621. <LEFT>
  2622.    Mousetmaxposition() sets the mouse coordinate limits. It takes 
  2623. four parameters menx, maxx, meny, maxy.
  2624.   
  2625.    Example:
  2626.     
  2627.         mousetmaxposition(5,20,5,20);
  2628.    
  2629.    This will confine mouse movement to a window(5,5,20,20).
  2630. <CENTER>
  2631. <PRINT><LINE><1><64><196>
  2632. <READ><LINE><1><74><205>
  2633. moubuttonrelease()
  2634. <PRINT><LINE><1><64><196>
  2635. <READ><LINE><1><74><205>
  2636. <LEFT>
  2637.    Moubuttonrelease() takes the number of the button to check (0 
  2638. LEFTBUTTON, 1 RIGHTBUTTON, 2 MIDBUTTON) and returns the number of 
  2639. times that button was released since last checked.   
  2640.  
  2641.    Example:
  2642.    
  2643.    for(;;)
  2644.    {
  2645.          if(moubuttonrelease(2))
  2646.          {
  2647.                 break;
  2648.          }
  2649.    }
  2650.     
  2651.    This will remain in the loop until the MIDBUTTON is pressed 
  2652.    and released.
  2653. <CENTER>
  2654. <PRINT><LINE><1><64><196>
  2655. <READ><LINE><1><74><205>
  2656. loadcurs()
  2657. <PRINT><LINE><1><64><196>
  2658. <READ><LINE><1><74><205>
  2659. <LEFT>
  2660.    Loadcurs() loads the graphic cursor. It takes the file name of
  2661. the mouse cursor fonts.
  2662.    
  2663.    Example:
  2664.   
  2665.         loadcurs("moucurs.fnt");
  2666.     
  2667.    This will load file moucurs.fnt for use with moushow() and 
  2668.    mouhide().
  2669. <CENTER>
  2670. <PRINT><LINE><1><64><196>
  2671. <READ><LINE><1><74><205>
  2672. mouinit()
  2673. <PRINT><LINE><1><64><196>
  2674. <READ><LINE><1><74><205>
  2675. <LEFT>
  2676.    Mouinit() allocates memory for mouse functions for
  2677.    normal or dual font mode.
  2678.  
  2679.    Example:
  2680.   
  2681.         mouinit();
  2682.     
  2683.    This will allocate memory for mouse.
  2684. <CENTER>
  2685. <PRINT><LINE><1><64><196>
  2686. <READ><LINE><1><74><205>
  2687. <PRINT><LINE><1><64><196>
  2688. mouuninit()
  2689. <PRINT><LINE><1><64><196>
  2690. <READ><LINE><1><74><205>
  2691. <LEFT>
  2692.    Mouuninit() frees allocated memory.   
  2693.    
  2694.    Example:
  2695.   
  2696.         mouuninit();
  2697.     
  2698.    This frees mouses allocated memory
  2699. <CENTER>
  2700. <PRINT><LINE><1><64><196>
  2701. <READ><LINE><1><74><205>
  2702. moupositiopix()
  2703. <PRINT><LINE><1><64><196>
  2704. <READ><LINE><1><74><205>
  2705. <LEFT>
  2706.    Mousepositionpix() check the current mouse coordinates in 
  2707. pixel and returns 1 if there is a change since lasted checked.
  2708.  
  2709. Example:
  2710.  
  2711.   int changed,pix_x,pix_y;
  2712.  
  2713.   changed = moupositionpix(&pix_x,&pix_y);
  2714.  
  2715.   This will place the current pixel coordinates in pix_x and
  2716.   pix_y. If the coordinates have changed since lasted checked
  2717.   it will set changed to 1.
  2718. <CENTER>
  2719. <PRINT><LINE><1><64><196>
  2720. <READ><LINE><1><74><205>
  2721. <PRINT><PAGE><NEW>
  2722. <PRINT><HEADER><Legal Stuff>
  2723. LEGAL STUFF
  2724. <READ><LINE><1><11><223>
  2725. <PRINT><LINE><1><11><205>
  2726. DEFINITION OF SHAREWARE
  2727. <PRINT><LINE><1><23><205>
  2728. <READ><LINE><1><23><223>
  2729. <LEFT>
  2730.  
  2731.       Shareware distribution gives users a chance to try software
  2732.    before buying it. If you try a Shareware program and continue
  2733.    using it, you are expected to register. Individual programs
  2734.    differ on details -- some request registration while others
  2735.    require it, some specify a maximum trial period. With
  2736.    registration, you get anything from the simple right to 
  2737.    continue using the software to an updated program with printed 
  2738.    manual.
  2739.  
  2740.       Copyright laws apply to both Shareware and commercial 
  2741.    software, and the copyright holder retains all rights, with a 
  2742.    few specific exceptions as stated below. Shareware authors are 
  2743.    accomplished programmers, just like commercial authors, and the 
  2744.    programs are of comparable quality. (In both cases, there are 
  2745.    good programs and bad ones!) The main difference is in the 
  2746.    method of distribution. The author specifically grants the 
  2747.    right to copy and distribute the software, either to all and 
  2748.    sundry or to a specific group. For example, some authors 
  2749.    require written permission before a commercial disk vendor may 
  2750.    copy their Shareware.
  2751.  
  2752.       Shareware is a distribution method, not a type of software. 
  2753.    You should find software that suits your needs and pocketbook,
  2754.    whether it's commercial or Shareware. The Shareware system 
  2755.    makes fitting your needs easier, because you can try before you 
  2756.    buy. And because the overhead is low, prices are low also. 
  2757.    Shareware has the ultimate money-back guarantee -- if you don't 
  2758.    use the product, you don't pay for it.
  2759.  
  2760.      PLEASE!  Show your support for Shareware by registering the
  2761.      programs you actually use.  Simpsoft Inc. depends upon and
  2762.      needs your support.  Thank you!
  2763.  
  2764.  
  2765. <CENTER>
  2766. <PRINT><LINE><1><64><42>
  2767. <READ><LINE><1><74><219>
  2768. <LEFT>
  2769.    This file contains important license information regarding the
  2770.    use of Full Pack, Version 1.1.  This information applies 
  2771.    to individual users who wish to pass copies out to friends and
  2772.    associates.
  2773. <CENTER>
  2774. <PRINT><LINE><1><64><42>
  2775. <READ><LINE><1><74><219>
  2776. <LEFT>
  2777.  
  2778.     Trial Use License:
  2779.     ~~~~~~~~~~~~~~~~~~
  2780.     Full Pack is NOT a public domain program.  It is Copyright
  2781.     (c) 1994, 1995, 1996 by Bruce O'Banion.  All rights reserved.
  2782.     This software and accompanying documentation are protected by
  2783.     United States Copyright law and also by International Treaty
  2784.     provisions.  Any use of this software in violation of 
  2785.     Copyright law or the terms of this limited license will be 
  2786.     prosecuted to the best of our ability.  The conditions under 
  2787.     which you may copy this software and documentation are clearly 
  2788.     outlined below under "Distribution Restrictions".
  2789.  
  2790.     Bruce O'Banion hereby grants you a limited license to use this
  2791.     software for evaluation purposes for a period not to exceed 
  2792.     Thirty (30) days.  If you intend to continue using this 
  2793.     software (and/or it's documentation) after the Thirty (30) day 
  2794.     evaluation period, you MUST make a registration payment to 
  2795.     Bruce R. O'Banion.
  2796.  
  2797.            - Full Pack, Version 1.1 - LICENSE.DOC -
  2798.  
  2799.  
  2800.     Using this software after the thirty (30) day evaluation 
  2801.     period without registering the software is a violation of the 
  2802.     terms of this limited license.
  2803.  
  2804.     Licensee shall not use, copy, rent, lease, sell, modify,
  2805.     decompile, disassemble, otherwise reverse engineer, or 
  2806.     transfer the licensed program except as provided in this 
  2807.     agreement. Any such unauthorized use shall result in 
  2808.     immediate and automatic termination of this license.
  2809.  
  2810.     All rights not expressly granted here are reserved to Simply
  2811.     Soft.
  2812.  
  2813.  
  2814.     Limited Distribution License:
  2815.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2816.     As the copyright holder for Full Pack, Bruce R. O'Banion
  2817.     authorizes distribution by individuals only in accordance with
  2818.     the following restrictions.
  2819.  
  2820.     Individuals are hereby granted permission by Bruce R. O'Banion 
  2821.     to copy the Full Pack diskette for their own use (for
  2822.     evaluation purposes) or for other individuals to evaluate, 
  2823.     ONLY when the following conditions are met.
  2824.  
  2825.     The Full Pack package is defined as containing all the
  2826.     material listed in the PACKING.LST text file.  If any files
  2827.     listed in the PACKING.LST text file, or the PACKING.LST file
  2828.     itself, are missing, then the package is not complete and
  2829.     distribution is forbidden.  Please contact us to obtain a
  2830.     complete package suitable for distribution.
  2831.  
  2832.     o  The Full Pack package - including all related program
  2833.        files and documentation files - CANNOT be modified in any
  2834.        way and must be distributed as a complete package, without
  2835.        exception.  The PACKING.LST text file contains a list of
  2836.        all files that are part of the Full Pack package.
  2837.  
  2838.     o  No price or other compensation may be charged for the
  2839.        Full Pack package.  A distribution cost may be
  2840.        charged for the cost of the diskette, shipping and
  2841.        handling, as long as the total (per disk) does not exceed
  2842.        US$15.00 in the U.S. and Canada, or US$20.00
  2843.        internationally.
  2844.  
  2845.     o  The Full Pack package CANNOT be sold as part of some
  2846.        other inclusive package.  Nor can it be included in any
  2847.        commercial software packaging offer, without a written
  2848.        agreement from Bruce R. O'Banion.
  2849.  
  2850.     o  The User's Guide may not be reproduced in whole or
  2851.        in part, using any means, without the written permission
  2852.        of Bruce R. O'Banion.  In other words, the disk-based
  2853.        documentation may not be distributed in PRINTED (hardcopy)
  2854.        form.
  2855.  
  2856.     o  The Full Pack package cannot be "rented" or "leased"
  2857.        to others.
  2858.  
  2859.     o  Licensee shall not use, copy, rent, lease, sell, modify,
  2860.        decompile, disassemble, otherwise reverse engineer, or
  2861.        transfer the licensed program except as provided in this
  2862.        agreement.  Any such unauthorized use shall result in
  2863.        immediate and automatic termination of this license.
  2864.  
  2865.     All rights not expressly granted here are reserved to Bruce R.
  2866.     O'Banion
  2867.  
  2868. <CENTER>
  2869. <PRINT><LINE><1><64><196>
  2870. <READ><LINE><1><74><196>
  2871. Distribution Requirements VENDORS
  2872. <PRINT><LINE><1><64><196>
  2873. <READ><LINE><1><74><196>
  2874. <LEFT>
  2875.  
  2876.     Computer Clubs and User Groups wishing to add the Simple 
  2877.     Windows package to their disk library may do so in accordance 
  2878.     with the Distribution Restrictions listed below.
  2879.  
  2880.     Limited Distribution License:
  2881.     -----------------------------
  2882.  
  2883.     As the exclusive copyright holder for Full Pack, Bruce R. 
  2884.     O'Banion authorizes distribution only in accordance with the 
  2885.     following restrictions. 
  2886.  
  2887.     ASP Approved Vendors in good standing are hereby given 
  2888.     permission to distribute Full Pack package.  Non-ASP 
  2889.     member vendors are requested to ask permission prior to 
  2890.     distributing this package.
  2891.     
  2892.     The Full Pack package is defined as containing all the 
  2893.     material listed in the PACKING.LST text file.  If any files 
  2894.     listed in the PACKING.LST text file, or the PACKING.LST file 
  2895.     itself, are missing, then the package is not complete and 
  2896.     distribution is forbidden.  Please contact us to obtain a
  2897.     complete package suitable for distribution.
  2898.  
  2899.     The Full Pack package - including all related program 
  2900.     files and documentation files - CANNOT be modified in any way 
  2901.     and must be distributed as a complete package, without 
  2902.     exception.  The PACKING.LST text file contains a list of all 
  2903.     files that are part of the Full Pack package.
  2904.  
  2905.     Small additions to the package, such as the introductory used 
  2906.     by many shareware disk vendors, are acceptable.
  2907.  
  2908.     No price or other compensation may be charged for the Simple 
  2909.     Windows package.  A distribution fee may be charged for the 
  2910.     cost of the diskette, shipping and handling, as long as the 
  2911.     total (per disk) does not exceed US$15.00 in the U.S. and 
  2912.     Canada, or US$20.00 internationally.
  2913.  
  2914.     Disk Sets & CD-ROMs:
  2915.     ~~~~~~~~~~~~~~~~~~~~
  2916.     The Full Pack package CANNOT be sold as part of some other 
  2917.     inclusive package.  Nor can it be included in any commercial 
  2918.     software packaging offer, without a written agreement from 
  2919.     Bruce R. O'Banion.
  2920.  
  2921.     ASP Approved Vendors who wish to distribute the Full Pack 
  2922.     package as part of a collection (such as PsL's MegaDisk set, 
  2923.     or a CD-ROM package) may do so provided that all the other 
  2924.     restrictions are met.
  2925.  
  2926.     Vendors (non-ASP Vendor Members) who wish to distribute the
  2927.     Full Pack package as part of a collection (such as PsL's 
  2928.     MegaDisk set, or a CD-ROM package) are ask to obtain 
  2929.     permission from Bruce R. O'Banion prior to beginning such a 
  2930.     distribution.
  2931.  
  2932.     If you wish to add any of our programs to a CD-ROM or other 
  2933.     collection, please check the release date of the version you 
  2934.     have.  If the version is over twelve (12) months old then 
  2935.     please contact us to ensure that you have the most current 
  2936.     version.  This version was released in July,1998.
  2937.  
  2938.     Disk-of-the-Month (or Subscription) Distribution:
  2939.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2940.     If you would like to distribute the Full Pack package as 
  2941.     a Disk-of-the-Month, or as part of a subscription or monthly 
  2942.     service, then the following restrictions apply:
  2943.  
  2944.     ASP Associate (Disk Vendor) Members in good standing are 
  2945.     hereby given permission to distribute the Full Pack package 
  2946.     under the Disk-of-the-Month style of distribution.
  2947.  
  2948.     Others (non-ASP Members) are asked to contact us in advance to 
  2949.     ensure that you have the most current version of the software.
  2950.  
  2951.     You cannot use a Disk-of-the-Month distribution to use up your 
  2952.     inventory of old (out of date) disks.  Only current versions 
  2953.     may be shipped as Disk-of-the-Month disks.
  2954.  
  2955.     The User's Guide may not be reproduced in whole or in part, 
  2956.     using any means, without the written permission of Bruce R. 
  2957.     O'Banion.  In other words, the disk-based documentation may 
  2958.     not be distributed in PRINTED (hardcopy) form.
  2959.  
  2960.     The Full Pack package cannot be "rented" or "leased" to 
  2961.     others.
  2962.  
  2963.     You may not list any of our products in advertisements, 
  2964.     catalogs, or other literature which describes our products as 
  2965.     "FREE SOFTWARE".  Shareware is "Try-Before-You-Buy" software, 
  2966.     it is not free.
  2967.  
  2968.     Bruce R. O'Banion prohibits the distribution of outdated 
  2969.     versions of the Full Pack package, without written 
  2970.     permission from Bruce R. O'Banion. If the version you have is 
  2971.     over twelve (12) months old, please contact us to ensure that 
  2972.     you have the most current version.  This version was released 
  2973.     in July, 1998.
  2974.  
  2975.     Licensee shall not use, copy, rent, lease, sell, modify, 
  2976.     decompile, disassemble, otherwise reverse engineer, or 
  2977.     transfer the licensed program except as provided in this 
  2978.     agreement.  Any such unauthorized use shall result in 
  2979.     immediate and automatic termination of this license.
  2980.  
  2981.     All rights not expressly granted here are reserved to Bruce R. 
  2982.     O'Banion. 
  2983. <CENTER>
  2984. <PRINT><LINE><1><64><196>
  2985. <READ><LINE><1><74><196>
  2986. Distribution Requirements: SYSOPS
  2987. <PRINT><LINE><1><64><196>
  2988. <READ><LINE><1><74><196>
  2989. <LEFT>
  2990.  
  2991.     Limited Distribution License:
  2992.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2993.     As the exclusive copyright holder for Full Pack, Bruce R.
  2994.     O'Banion authorizes on-line distribution only in accordance 
  2995.     with the following restrictions.  
  2996.  
  2997.     The Full Pack package is defined as containing all the
  2998.     material listed in the PACKING.LST text file.  If any files
  2999.     listed in the PACKING.LST text file, or the PACKING.LST file
  3000.     itself, are missing, then the package is not complete and
  3001.     distribution is forbidden.  Please contact us to obtain a
  3002.     complete package suitable for distribution.
  3003.  
  3004.     o  The Full Pack package - including all related program
  3005.        files and documentation files - CANNOT be modified in any
  3006.        way (other than that mentioned in the following paragraph)
  3007.        and must be distributed as a complete package, without
  3008.        exception.  The PACKING.LST text file contains a list of
  3009.        all files that are part of the Full Pack package.
  3010.  
  3011.     o  Many BBSs customarily add a small text file
  3012.        (advertisement) to each archived file.  This text file
  3013.        describes the BBS and tells people that the file was
  3014.        downloaded from that particular BBS.  Other BBSs add a
  3015.        small one-line message with their BBS name and phone
  3016.        number into the compressed file, which will display when
  3017.        the file is uncompressed.  Either of these methods of
  3018.        mentioning your BBS are acceptable and may be used,
  3019.        provided the program and documentation is otherwise
  3020.        unmodified and complete.
  3021.  
  3022.     o  Bruce R. O'Banion prohibits the distribution of outdated
  3023.        versions of the Full Pack package, without written
  3024.        permission from Bruce R. O'Banion.  If the version you
  3025.        have obtained is over twelve (12) months old, please
  3026.        contact us to ensure that you have the most current
  3027.        version.
  3028.  
  3029.     o  Licensee shall not use, copy, rent, lease, sell, modify,
  3030.        decompile, disassemble, otherwise reverse engineer, or
  3031.        transfer the licensed program except as provided in this
  3032.        agreement.  Any such unauthorized use shall result in
  3033.        immediate and automatic termination of this license.
  3034.  
  3035.  
  3036.     All rights not expressly granted here are reserved to Bruce R.
  3037.     O'Banion
  3038. <CENTER>    
  3039. ***** IMPORTANT WARRANTY INFORMATION *****
  3040.  
  3041. Full Pack, Version 1.1
  3042.  
  3043. *** PLEASE READ THIS INFORMATION CAREFULLY ***
  3044. <PRINT><LINE><1><46><205>
  3045. <READ><LINE><1><46><223>
  3046.  
  3047. TRIAL USE (SHAREWARE EVALUATION VERSION) WARRANTY
  3048. <PRINT><LINE><1><49><205>
  3049. <READ><LINE><1><49><205>
  3050. <LEFT>
  3051.  
  3052.    The Shareware evaluation (trial use) version is provided AS IS.
  3053.    Bruce R. O'Banion MAKES NO WARRANTY OF ANY KIND, EXPRESSED OR
  3054.    IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
  3055.    MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
  3056.  
  3057.  
  3058. <CENTER>
  3059. REGISTERED VERSION ONLY WARRANTY:
  3060. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3061. <LEFT>
  3062.  
  3063.    Bruce R. O'Banion warrants the physical diskette(s) and 
  3064.    physical documentation provided with registered versions to be 
  3065.    free of defects in materials and workmanship for a period of 
  3066.    ninety days from the date of registration.  If Bruce R. 
  3067.    O'Banion receives notification within the warranty period of 
  3068.    defects in materials or workmanship, and such notification is 
  3069.    determined by Simpsoft Inc. to be correct, Bruce R. O'Banion 
  3070.    will replace the defective diskette(s) or documentation.
  3071.  
  3072.    The entire and exclusive liability and remedy for breach of 
  3073.    this Limited Warranty shall be limited to replacement of 
  3074.    defective diskette(s) or documentation and shall not include or 
  3075.    extend to any claim for or right to recover any other damages, 
  3076.    including but not limited to, loss of profit, data, or use of 
  3077.    the software or special, incidental, or consequential damages 
  3078.    or other similar claims, even if Bruce R. O'Banion has been 
  3079.    specifically advised of the possibility of such damages. In no 
  3080.    event will Bruce R. O'Banion's liability for any damages to you 
  3081.    or any other person ever exceed the lower of suggested list 
  3082.    price or actual price paid for the license to use the software, 
  3083.    regardless of any form of the claim.
  3084.  
  3085.    Bruce R. O'Banion SPECIFICALLY DISCLAIMS ALL OTHER WARRANTIES,
  3086.    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
  3087.    WARRANTY OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  3088.    PURPOSE.
  3089. <CENTER>
  3090. <PRINT><LINE><1><64><42>
  3091. <READ><LINE><1><74><219>
  3092. Registered Limited Licensing Agreement
  3093. <LEFT>
  3094.  
  3095.    You may use this software on any computer, as long as only one 
  3096. person uses it at a time. If several people use the software at 
  3097. the same time, you must pay one license fee for each additional 
  3098. person. If you use the software on a computer network, you must 
  3099. pay for as many licenses as the number of people who use the 
  3100. software.
  3101.    This software is protected by international copyright laws. 
  3102. You may copy it only for backup purposes. Simpsoft Inc. is 
  3103. licensing the software to you and not selling it.
  3104.    Neither you or any reseller may rent, lease,sell licensed
  3105. copies on approval,or otherwise transfer the right to use this 
  3106. software to another person, except that you may sell or give away 
  3107. your original copy, as long as you do not keep any copies.
  3108.    You are free to resell, license, and or give away any 
  3109. executebles you make with the libaraies or any files you make with 
  3110. the editors. Certain executebles specificly for use in system or 
  3111. child calls that are include in the software package my also be 
  3112. include with your programs for resale, licensing, and or give 
  3113. away.
  3114. <CENTER>
  3115. <PRINT><LINE><1><64><42>
  3116. <READ><LINE><1><74><220>
  3117. ASP OMBUDSMAN STATEMENT
  3118. <LEFT>
  3119.  
  3120.     "This program is produced by a member of the Association
  3121.     of Shareware Professionals (ASP).  ASP wants to make sure
  3122.     that the shareware principle works for you. If you are
  3123.     unable to resolve a shareware-related problem with an ASP
  3124.     member by contacting the member directly, ASP may be able
  3125.     to help. The ASP Ombudsman can help you resolve a dispute
  3126.     or problem with an ASP member, but does not provide
  3127.     technical support for members' products. Please write to
  3128.     the ASP Ombudsman at 157-F Love Ave., Greenwood, IN 46142
  3129.     USA, FAX 317-888-2195, or send email to omb@asp-shareware.org
  3130. <CENTER>
  3131. <PRINT><LINE><1><64><42>
  3132. <READ><LINE><1><74><220>
  3133. <LEFT>
  3134.          NOTE:  fulpac11.zip is packaged on this disk using 
  3135.          Info-ZIP's compression utility.  The installation program 
  3136.          uses UnZip to read zip files from the disk.  Info-ZIP's 
  3137.          software (Zip, UnZip and related utilities) is free and 
  3138.          can be obtained as source code or executables from 
  3139.          various bulletin board services and anonymous-ftp sites, 
  3140.          including CompuServe's IBMPRO forum and ftp.uu.net:/pub/
  3141.          archiving/zip/*. 
  3142. <CENTER>
  3143. <PRINT><LINE><1><64><42>
  3144. <READ><LINE><1><74><223>
  3145. <LEFT>
  3146.   U.S. Government Information:  Use, duplication, or
  3147.   disclosure by the U.S. Government of the computer software
  3148.   and documentation in this package shall be subject to the
  3149.   restricted rights applicable to commercial computer
  3150.   software as set forth in subdivision (b)(3)(ii) of the
  3151.   Rights in Technical Data and Computer Software clause at
  3152.   252.227-7013 (DFARS 52.227-7013).  The
  3153.   Contractor/manufacturer is Simpsoft Inc. part of Simpsoft Inc. 
  3154.   318 Oak St. Modesto,CA 95351
  3155. <CENTER>
  3156. <PRINT><LINE><1><64><42>
  3157. <READ><LINE><1><74><42>
  3158. Please Help Us Serve You Better
  3159. <PRINT><LINE><1><31><196>
  3160. <READ><LINE><1><31><205>
  3161. <LEFT>
  3162.  
  3163.   We would appreciate copies of anything you print regarding 
  3164.   Full Pack. Please send us a copy of any reviews, 
  3165.   articles, catalog descriptions, or other information you print 
  3166.   or distribute regarding the Full Pack package.  Thank you 
  3167.   for your time and assistance and for supporting the shareware 
  3168.   marketing concept.
  3169.  
  3170.   Please refer to FULLPACK.DOC for our mailing address and phone 
  3171.   number.
  3172.  
  3173.   Thank you for your support!
  3174. <CENTER>
  3175. <PRINT><LINE><1><64><42>
  3176. <READ><LINE><1><74><42>
  3177. TURBO C++ 1.0 copyright 1990 Borland International
  3178. TURBO C 2.0 copyright 1987,1988 Borland International
  3179. MS_DOS 5.0 copyright 1987-1991 Microsoft Corp.
  3180. INFO-ZIP Copyright (C) 1990-1996  Mark  Adler,  
  3181. Richard  B. Wales, Jean-loup  Gailly, Onno  van  der Linden, 
  3182. Kai Uwe Rommel, Igor Mandrichenko, John Bush and Paul Kienitz.  
  3183. Permission is  granted to any individual or institution to use, 
  3184. copy, or redistribute this software so long as all of the 
  3185. original  files  are  included, that it is not sold for profit,
  3186. and that this copyright notice is retained.
  3187. Thanks to Dave Kirsch for the map access code from 
  3188. MOU105 Copyright (C) 1990, 1991 by Dave Kirsch.
  3189. Sharespell v3.1 copyright 1989-96 by Acropolis Software.
  3190. <PRINT><LINE><1><64><42>
  3191. <READ><LINE><1><74><42>
  3192. <PRINT><PAGE><NEW>
  3193. <PRINT><HEADER><Registration>
  3194. <CENTER>
  3195. <READ><OFF>
  3196. Registration Full Pack 1.1
  3197. <LEFT>
  3198.   Registration gets you phone support for one year, extra executes 
  3199. and your registration fee goes toward future upgrades. Print the 
  3200. following form and send it to:
  3201.      
  3202.             Bruce R. O'Banion
  3203.             RT 1 Box 148A
  3204.             Pauls Valley,OK 73075
  3205.    
  3206. Or call me at : 405-665-4042 or 405-665-4047
  3207. Also be sure to include a check or money order. NO CASH PLEASE!
  3208. I will fill the order as soon as the check clears. Make checks 
  3209. payable to name and address above.
  3210. -------------------------------------------------------    
  3211.  
  3212. Name: _________________________________________________
  3213. Address: 
  3214.          ______________________________________________
  3215.          ______________________________________________
  3216.          ______________________________________________
  3217. Phone : ____________________________
  3218.  
  3219. --------------------------------------------------------
  3220. Type of machine: ____________________ (only IBM/PC DOS
  3221. Type of disk   3 1/2 hi                and compatible
  3222. (circle one)   5 1/4 hi
  3223.                5 1/4 low
  3224. ________________________________________________________
  3225.                                        Price
  3226. Product                       Quant.   Each     Total
  3227. --------------------------------------------------------
  3228. Font Edit v1.6 .............. _____    $25    ________
  3229. Simple Windows v1.8 ......... _____    $50    ________
  3230. VGA Edit v1.4 ............... _____    $25    ________
  3231. Simple Pack v1.2 ............ _____    $25    ________
  3232. Simple Mouse v2.4 ........... _____    $25    ________      
  3233. Full Pack v1.1 .............. _____   $100    ________
  3234. --------------------------------------------------------
  3235. Subtotal                      _____           ________
  3236. $3.00 (s/h) per disk (max $50.00)             ________
  3237. --------------------------------------------------------
  3238.                        Total amount enclosed: ________
  3239.     
  3240.     
  3241.                        Sign here _________________________
  3242.  
  3243.  
  3244. <CENTER>
  3245. Don't forget to circle A disk type!
  3246. <PRINT><LINE><1><35><205>
  3247. <END>
  3248.